An alternate approach to typing

This version supports three modes of manipulating numbers:

1) classic approach : a.mul(b);
2) second approach : a.mul(b,c);
3) operator approach: op.compute(b,c,a);

This satisfies all use cases in minimal code. One can work with numbers or
just operators if desired.