I really don&#x27;t see how.<p>There&#x27;s a ton of useful stuff with HKTs, type families, GADTs, etc that you can&#x27;t hope to achieve with ocaml&#x27;s type system.<p>Recently, I&#x27;ve found myself using extensive type-level arithmetic for automatic hardware generation and verification. This requires a number of powerful type system features (type level literals, kind promotion, type functions and equality constraints a la type families, type normalization plugins) that wouldn&#x27;t work at all in ocaml.