fix struct generation
ocaml backend: support for primitive operators