# Taking the argument signature from a different function

**URL:** <https://discuss.python.org/t/taking-the-argument-signature-from-a-different-function/42618>\
**Category:** Typing\
**Created:** [January 6, 2024, 6:45pm UTC](https://discuss.python.org/t/taking-the-argument-signature-from-a-different-function/42618 "2024-01-06T18:45:52Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![erictraut](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/erictraut/32/15190_2.png) [@erictraut](https://discuss.python.org/u/erictraut)\
**Post date:** [January 6, 2024, 7:05pm UTC](https://discuss.python.org/t/taking-the-argument-signature-from-a-different-function/42618/3 "2024-01-06T19:05:36Z")

</div>

I’m not sure I fully understand what you’re trying to do here. It looks odd that you’re “wrapping” a function that returns a non-None value but then discarding the return value and returning None instead.

Does this meet your needs?

```python
def my_wraps[**P](
    inner: Callable[P, Any]
) -> Callable[[Callable[..., None]], Callable[P, None]]:
    def impl(x: Callable[..., None]) -> Callable[P, None]:
        return inner

    return impl

@my_wraps(inner)
def wrapper(*args: Any, **kwargs: Any) -> None:
    inner(*args, **kwargs)
    return

```

---

_[View the full topic](https://discuss.python.org/t/taking-the-argument-signature-from-a-different-function/42618)._
