let rec libre_texp = function
    Tint -> []
  | Tvar n -> [ n ]
  | Tarrow (t1, t2) -> libre_texp t1 @ libre_texp t2;;