let rec remove (l:'a list) e = match l with 
  | []   -> []
  | x::c -> if (x = e) then remove c e else x::(remove c e)