Mypy complains about the program even though it's valid Python:
class A(object):
def __init__(self, x):
pass
class B(A):
def __new__(cls):
return 1
B() # Too few arguments for "B"
It seems that mypy uses __init__ and doesn't recognize that __new__ in a subclass should take precedence.