title: Tuple with multiple numbers of arbitrary but equal type
body: <p>Currently, I am checking for tuples with multiple (e.g. three) numbers of arbitrary but equal type in the following form:</p>
  <pre class="lang-py prettyprint-override"><code>from typing import Tuple, Union
  
  Union[Tuple[int, int, int], Tuple[float, float, float]]
  </code></pre>
  <p>I want to make this check more generic, also allowing <code>numpy</code> number types. I.e. I tried to use <code>numbers.Number</code>:</p>
  <pre class="lang-py prettyprint-override"><code>from numbers import Number
  from typing import Tuple
  
  Tuple[Number, Number, Number]
  </code></pre>
  <p>The above snipped also allows tuples of mixed types as long as everything is a number.</p>
  <p><strong>I'd like to restrict the tuple to numbers of equal type.</strong></p>
  <p>How can this be achieved?</p>
  <hr />
  <p>Technically, this question applies to Python and the type hints specification itself. However, as pointed out in the comments, its handling is implementation specific, i.e. MyPy will not catch every edge case and/or inconsistency. Personally, I am using run-time checks with <a href="https://typeguard.readthedocs.io/en/latest/" rel="nofollow noreferrer">typeguard</a> for testing and deactivate them entirely in production.</p>