let list_add (equal: 'a -> 'a -> bool) (list: 'a list) (element: 'a) : 'a list = if List.exists (equal element) list then list else element :: list