Neater call methods on operations.

I made all the error checking into guard clauses, which reads a bit more
nicely.