nums + O         bBhH -> f, iIlLqQ -> d
n      2     fmod           nums + M
n      2     power          nums + O
n      2     greater        bool + nums + O  -> bool
n      2     greater_equal  bool + nums + O  -> bool
n      2     less           bool + nums + O  -> bool
n      2     less_equal     bool + nums + O  -> bool
n      2     equal          bool + nums + O  -> bool
n      2     not_equal      bool + nums + O  -> bool
n      2     logical_and    bool + nums + M  -> bool
n      2     logical_or     bool + nums + M  -> bool
n      2     logical_xor    bool + nums + M  -> bool
n      2     maximum        bool + nums + O
n      2     minimum        bool + nums + O
n      2     bitwise_and    bool + ints + O  flts raise an error
n      2     bitwise_or     bool + ints + O  flts raise an error
n      2     bitwise_xor    bool + ints + O  flts raise an error
n      2     arctan2        real + M
n      2     remainder      ints + real + O
n      2     hypot          real + M
=====  ====  =============  ===============  ========================

Types other than those listed will be accepted, but they are cast to
the smallest compatible type for which the function is defined. The
casting rules are:

bool -> int8 -> float32
ints -> double

Nr<