Remove Numeric unary and binary modules

* Refactor Function::Binary#type to choose the lowest common
  ancestor of multiple types.