solutions for Functor