xfunctor, ~> for prim/comp