Instance definition helpers

Instead of baking the add operation into the element function,
we could use higher rank types
and pass a generic uncurry (+) to the run function.
We do not do so in order to stay Haskell 98
at least for parts of NumericPrelude.