Annotated functor