Some notes on Java version
- Reflection doesn't understand Generic Methods
- in the case of multiplication and division there are no built-in interfaces that generalize over numeric types for it
Using reflection make it nonsense to build a map. The map is the class that define the metods itself. I'll do a second version pretending c++ and Python versions.