Module Utils

module Functions : sig ... end
module HetHashtbl : sig ... end

Most of this code is adapated from the OCaml Standard library's implementation of Hashtbl. It is just adapted for polymorphic types. I.E. a 'b t hashtabl binding 'a key to ('a,'b) value (note that 'a is quantified existantially here).

module Range : sig ... end

Integer ranges (0..n or lo..high), for quick iteration. Inspired by python's range used in for loop, but with a more functional approach.