Remove the js_stdout flag, which is always true
Js_config.js_stdout starts as ref true and nothing writes it, so the two && !js_stdout tests are always true.
Semantic Diff
7 commits
7249c119e4b590a831809c68ac8546baa05ca6bf..pr-9146Js_config.js_stdout starts as ref true and nothing writes it, so the two && !js_stdout tests are always true.
emit_import_curry is never set to true, so gentype never imports curry.js (which the runtime no longer has). The flag, the import path, platform_lib and Module_name.curry go with it.
Shared.type_to_string read its cache only when cache_type_to_string was set, which nothing does, but stored every printed type in it, keyed by a type_expr that a hash collision would compare structurally.
The compiler no longer recognises @uncurry, and the Js.Fn.arityN types that is_uncurried_internal looked for are gone from the runtime, so hover and references never took those branches.
type_toplevel_phrase, left over from the OCaml REPL, was the only caller passing ~toplevel:true, so the ?toplevel parameters of type_structure, type_open and Env.open_signature always took their default. The outcome printer test types its file with type_structure.
Debug printers in parmatch.ml and switch.ml, newmarkedvar and check_expans in btype, and the Clflags.recursive_types remnants in typedecl and ctype were all commented out; print_pat still matched Tpat_lazy, which no longer exists.
Nothing constructs Otyp_attribute; only the outcome printer matched it. The commit also adds the changelog fragment for this dead-code cleanup.