typing: allow `new` on interface and abstract classes that have a `new`-factory