sig type env = string * (string option * string) val env : (string * (string * 'a)) list -> ?def:string -> string -> string end