Don't know OCaml but am learning Rust and I see what you mean about the universality of how types make this possible.
Thanks for pointing this out.