l1 = [1..5] `difference` [2,5] -- could make [1..5] - [2,5], just have to make an instance Numinstance (Eq a,Show a) =>Num ([a]) where
a + b = a `union` b
(-) a b = a `difference` b -- we can write it like that
(*) = intersect -- or even shorter-- make this instance is very dangerous, cos now typechecker not detect the error [show 1,show 2]++[0,0], WHY ?
l1' = [1..5] - [2,5]