let mk_def xl t defs =
  let f = "_let_"^(string_of_int (snd !defs) ) in
  defs :=
    ({name = f ; param = xl; body = t}::(fst !defs)),
  1+(snd !defs);f