'(timedelta64, {int, float}) -> timedelta64
({int, float}, timedelta64) -> timedelta64'

def generic(self, args, kws):

    (left, right) = args
    if isinstance(right, types.NPTimedelta):
        (td, other) = (right, left)
        sig_factory = (lambda other: signature(td, other, td))
    elif isinstance(left, types.NPTimedelta):
        (td, other) = (left, right)
        sig_factory = (lambda other: signature(td, td, other))
    else:
        return
    if (not isinstance(other, (types.Float, types.Integer))):
        return
    if isinstance(other, types.Integer):
        other = types.int64
    return sig_factory(other)
