Moved Fun and Rel to prelude as they are dependent on
First iteration of Functor created