class functor f where