its required so we can use the binary dispatcher for with unary loop, the dispatcher will check all three arguments which are uninitialized for unary loops.
One could probably also modify the dispatcher to take another argument defining if binary or unary but I this works fine (the same method is already used for _square and _reciprocal)