Impl appropriate operators for implementors of Zero and One
Reduce code duplication

We can now have multiple definitions in macros!
Merge pull request #27 from bjz/build-fixes

Build fixes