I disagree, Typescript has algebraic data types, conditional types, type inference, type guards, many or all of which are missing in Java. The class syntax is just another optional feature and it is possible to write quite functional / ocaml like code in typescript.