Droping the Functor constraint.