And even if we do allow None, should we check `new is None`, and throw an error otherwise?