functor laws