This turns out to be directly addressed in the help documentation: https://doc.sccode.org/Guides/WritingClasses.html#Instances
The answer is to not keep using the init method name, but to have a different name for every subclass.