title: mypy ignoring error in regular method but raising an error in __init__
body: <p>I have a class that looks as following:</p>
  <pre><code>from typing import Optional
  import numpy as np
  
  class TestClass():
      def __init__(self, a: Optional[float] = None):
          self.a = np.radians(a)
  </code></pre>
  <p>This returns the error <code>Argument 1 to &quot;__call__&quot; of &quot;ufunc&quot; has incompatible type &quot;Optional[float]&quot;; expected &quot;Union[Union[int, float, complex, str, bytes, generic], Sequence[Union[int, float, complex, str, bytes, generic]], Sequence[Sequence[Any]], _SupportsArray]&quot;</code></p>
  <p>However, the following class passes through with no issues even though it essentially does the same thing:</p>
  <pre><code>from typing import Optional
  import numpy as np
  
  class TestClass():
      def __init__(self, a: Optional[float] = None):
          self.a = a
  
      def test(self):
          b = np.radians(self.a)
  </code></pre>
  <p>Using <code>np.radians(None)</code> has no effect on it either. How do I get mypy to recognize that this should also cause an error?</p>