I guess we need to be checking __new__ and __init__ for descriptors
Keep tp_new in sync with cls.__new__