Because it is intentionally different from `InterfaceDeclaration::semantic`. But I don't survey the actual reason. So I've keep the "intentionally commented out code".