id_functor, compose_functor