Monadic Constraint Programming framework