implemented decorator for polymorphic functions

...and used it to re-implement "+" as an example.
Hopefully that will help us avoid repetitiveness in stdlib.