shared node subclass reasoning bug