Haskell Functors Example: List

instance Functor ([]) where
	fmap :: (a -> b) -> [a] -> [b]
	fmap = map
fmap (+1) [1,2,3]           == [2,3,4]
fmap (+1) []                == []
fmap head [[1,2,3],[4,5,6]] == [1,4]