let rec get_vars (atms : int list) (vars : int list)
  : term list list -> int list =

  let rec help vars = function
    | Var(n)::tail -> if List.mem n atms then
                        help vars tail
                      else
                        help (insert n vars) tail
    | []           -> vars
    | _            -> failwith "Unifyxor.get_vars: only Var(_) allowed here"
  in
  function
    | eqn::eqns -> get_vars atms (help vars eqn) eqns
    | []        -> vars