fix for weird random init error
fix for ocaml bug with undefined recursive modules
switched hashtbl to use custom hash function