exception TypeError module VarMap = Mapext.Make(String) let rec fix f s = let fs = f s in if fs = s then fs else fix f fs let (@@) f x = f x let print_list x l = Format.printf "%s: " x; let rec aux = function | [] -> () | [a] -> Format.printf "%s" a | p::q -> Format.printf "%s, " p; aux q in Format.printf "["; aux l; Format.printf "]@.";