let remove_dups l = 
  let m = List.sort compare l in 
  let rec remove_dups_rec ll = match ll with
    | []      -> ll
    | [x]     -> ll
    | x::y::d -> if (x=y) then remove_dups_rec (y::d)
      else x::(remove_dups_rec d)
  in remove_dups_rec m