removed redundant Functor m constraint