nb : "make_pre v" will be different from "make_pre v" (in the sense of ocaml compare) although they will have the same value in the end. It migth be useful to tabulate them in the caller.
Representing the input, output, and local variables vectors.
We use an hash table to represent it as we will need to retrieve input values very often when evaluating formulas (and also weights). -> Replaced by a map
type env_in = Value.OfIdent.t
type env_out = Value.OfIdent.t
type env_loc = Value.OfIdent.t
type env = Value.OfIdent.t
For those types we use lists because the only operation we will need to perform over them is to add elements.