Remove validateSchema() methods from AbstractType class and all classes that extend it. Instead implement the schema validation for each node in the src/schema/ folder where a routine for each node type is a separate function, and there is one main "router" function with a big SwitchStatement which routes each node to the correct implementation.