def METHOD_NAME():
    anon_binder = build_args_binder(lambda x, y=10: None, remove_self=False)
    assert (20, 10) == anon_binder(20)
    def fun1(a, b=10):
        pass
    binder1 = build_args_binder(fun1, remove_self=False)
    assert (20, 10) == binder1(20)
    async def fun2(*, kw_only=10, **kw):
        pass
    binder2 = build_args_binder(fun2, remove_self=False)
    assert (20, {"ext_arg": 5}) == binder2(kw_only=20, ext_arg=5)
    async def fun3(x, *args, kw_only=10, **kw):
        pass
    binder3 = build_args_binder(fun3, remove_self=False)
    assert 10 == binder3(20, 36, ext_arg=5).kw_only
    assert (20, (36,), 10, {"ext_arg": 5}) == binder3(20, 36, ext_arg=5)