complement: do not generate subclasses for protocols