I compiled your program using ocamlc and everything went fine (using OCaml 3.12.0).
I would suggest that you call the old version of the compiler when you are trying to compile, perhaps one when Array.make was still named Array.create . Perhaps when you installed the new version, you overwrote some files (for example, toplevel), but not others (for example, the compiler). To check, compare the versions given by ocamlc -v and ocaml .
As for the "Unbound value" message, in OCaml, functions are values. The developers did not distinguish between “Unbound value which is not a function” and “Unbound value which is a function”, but this is not the cause of the problem. The cause of your problem is that Array.make is not tied at all.
Pascal cuoq
source share