code: function transform ( p, fn ) {
  				return function () {
  					var result = p();
  
  					return result === null ? null : fn( result );
  				};
  			}
docs: There is a general pattern: parse a thing; if it worked, apply transform, otherwise return null. But using this as a combinator seems to cause problems when combined with nOrMore(). May be some scoping issue.