remove Functor f constraint