Different pattern for _span so it doesn't need to be late Instead of marking the field nullable, or late, add a constructor in the abstract class and use it from the others. It was already impossible to correctly subclass `YamlNode` from outside the library, so the addition of a private constructor should not be breaking.