def recursive_multiply(a: int, b: int, _sum: int = 0) -> int:
    """Multiplies a with b, returns product

    Args:
        a (int): factor of product
        b (int): factor of product
        _sum (int): private, shouldn't be used

    Returns:
        int: product of a * b
    """

    if b != 0:
        if b > 0:
            _sum += a
            b -= 1
        else:
            _sum -= a
            b += 1

        return recursive_multiply(a, b, _sum)
    else:
        return _sum