Changed init order to match across constructors.
Formalised Functor concept similarly to Applicative and Monad.
Updated readme with regards to Functor's new interface.
Fix forgotten file.