@DanCouper I would like add some comments to your view on how Haxe works. Though the haxe compiler is written in OCaml it doesn’t mean that you get OCaml code compiled to either native or bytecoode when working with Haxe.
In regards to the C++ target the Haxe compiler transpiles your haxe code to C++ code, and that code is then processed by your C++ compiler afterwards. The C# and Java targets work in similar ways I believe - ie. the Haxe compiler outputs source code that is then used as input for the relevant compilers.
So the OCaml is something that the Haxe compiler developers is concerned with - not the developers that is coding in Haxe. So the performace of OCaml should not influence the performance of your Haxe written application, but on only the perfomance of the Haxe Compiler itself - which by the way is lightning fast.
The performance of your Haxe -> C++ app depends on how good Haxe is to generate optimized C++ code, but regarding that, I’m sure some of the experienced Haxe -> C++ users can chip in with more qualified comments than I can.
Hope it clarifies it a little.