as_left_inverse and as_right_inverse, added the base functor.