Text this: Monadic constraint programming.