Different pattern for _span so it doesn't need to be late
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.

dart-lang/yaml