See also EOF Fusaka Options.
This proposal aims to improve the EVM by adding valuable functionality while minimizing breakage. It recognizes the most likely outcome that EOF will indefinitely coexist with Legacy EVM, and as a result does not attempt to remove abilities that EOF contracts would nonetheless be able to work around.
General Arguments for EOF
Structured containers are a better foundation for tooling than unstructured bytecode and unreliable heuristics.
Structured control flow is significantly better for static analysis.
Stack and code validation at deploy time reduce EVM runtime overhead.
Higher level constructs (functions, subcontainers, data), relative jumps, and expanded stack access make compilers simpler and easier to implement.
Instructions with immediates can provide rich functionality efficiently. (Some disagree that immediates require EOF.)