liftA2 package:constrained-categories