constructors not makers should support special arities, etc.
DRY factories for monads in general and State,pState in particular