# Proposal: Allow Typevartuple unpacking in unions

**URL:** <https://discuss.python.org/t/proposal-allow-typevartuple-unpacking-in-unions/42932>\
**Category:** Typing\
**Created:** [January 11, 2024, 3:30am UTC](https://discuss.python.org/t/proposal-allow-typevartuple-unpacking-in-unions/42932 "2024-01-11T03:30:30Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![Eneg](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/eneg/32/18177_2.png) [@Eneg](https://discuss.python.org/u/Eneg)\
**Post date:** [April 1, 2025, 6:33am UTC](https://discuss.python.org/t/proposal-allow-typevartuple-unpacking-in-unions/42932/5 "2025-04-01T06:33:49Z")

</div>

If a PEP does emerge, perhaps it could also be expanded to address this:

> [@Parametrizing \*\*P with \[\*Ts\]](https://discuss.python.org/t/parametrizing-p-with-ts/82569):
>
> As per [PEP 646](https://peps.python.org/pep-0646/#type-variable-tuples-with-callable), Callable supports unpacking a TypeVarTuple in its parameter list to capture positional argument types. This functionality seems to be lost when we alias a callable using \*\*P: from collections import abc from typing import Any type CoroFunc[\*\*P, T] = abc.Callable[P, abc.Coroutine[Any, Any, T]] def accepts\_func[\*ArgsTs]( func: abc.Callable[[object, \*ArgsTs], abc.Coroutine[Any, Any, object]], func2: CoroFunc[[object, \*ArgsTs], object], # error: TypeVarTuple is not allow…

---

_[View the full topic](https://discuss.python.org/t/proposal-allow-typevartuple-unpacking-in-unions/42932)._
