def __init__(self, left, right):
    '\n        Casting rules for type promotions (for resolving the output type) may\n        depend in some cases on the target backend.\n\n        TODO: how will overflows be handled? Can we provide anything useful in\n        Ibis to help the user avoid them?\n\n        :param left:\n        :param right:\n        '
    super().__init__(*self._maybe_cast_args(left, right))
Casting rules for type promotions (for resolving the output type) may
depend in some cases on the target backend.

TODO: how will overflows be handled? Can we provide anything useful in
Ibis to help the user avoid them?

:param left:
:param right:
def __init__(self, left, right):
    '\n        Casting rules for type promotions (for resolving the output type) may\n        depend in some cases on the target backend.\n\n        TODO: how will overflows be handled? Can we provide anything useful in\n        Ibis to help the user avoid them?\n\n        :param left:\n        :param right:\n        '
    super().__init__(*self._maybe_cast_args(left, right))