Add holey composition and Functor instance