def METHOD_NAME(self, o, debug_info):
    # promote integer types to LOW/HIGH
    if isinstance(o, (IntegerTypes, bool, ht.Bit)):
        o = HIGH if o else LOW
    o = magma_value(o)
    if not isinstance(o, Digital):
        _logger.error(
            WiringLog(f"Cannot wire {{}} (type={type(self)}) to {o} "
                      f"(type={type(o)}) because {{}} is not a Digital",
                      self, o),
            debug_info=debug_info
        )
        return
    Wireable.METHOD_NAME(self, o, debug_info)