Remove serialization attributes

This pull request removes the serialization attributes and adds basic support for error handling. Essentially it will be part of a series of small pull requests related to #5.

I'm wondering... do you really need that reverse pipe when the function only takes a single argument?