Confident Code
This is great, but I'm a little worried about the custom Maybe function that slipped in about halfway through. Unless it's part of a standard framework (like ActiveSupport), if you use it in your projects you're likely going to find that:<p>a) Integrating with other codebases that don't use Maybe will result in code with an inconsistent style, and<p>b) If Maybe (or something like it) catches on enough, you'll hit collisions where two projects or libraries have different ideas of what Maybe means. (Maybe one uses <i>NilClass</i>, the other the custom <i>NullClass</i>, for example.)<p>(The PHP community has taken this to the extreme, with developers getting burnt over and over again with differing "standard" components using the same set of names.)