def bind_partial(*args, **kwargs):
    """Get a BoundArguments object, that partially maps the
        passed `args` and `kwargs` to the function's signature.
        Raises `TypeError` if the passed arguments can not be bound.
        """
    return args[0]._bind(args[1:], kwargs, partial=True)
