let remove_from_list n l =
  let rec remove_from_list_rec tas = function
    | m::ms -> if m=n then
                 (true, merge tas ms)
               else
                 remove_from_list_rec (m::tas) ms
    | [] -> (false, tas)
  in
  remove_from_list_rec [] l