let rec list_remove_assoc' x = function
  | (a, b) :: t when x = b -> list_remove_assoc' x t
  | h :: t -> h :: (list_remove_assoc' x t)
  | [] -> []