Having a method that returns nil on purpose seems like bad design idea. The most value you can get from returning  a nil is breaking someone calling this method. Any other return type would add more value to the codebase. 

Returning self you allow the caller to chain calls to pacto, something that can be useful when we finally move this code to it's own class. Returning the contract you allow the caller to do something with it while probably making test assertions cleaner.

Nils are evil incarnate :grimacing: