global

def rbs_readers

the extensible passthrough.
const), each field (typed when required; UNSET-bearing optionals stay untyped), then
Every Data member gets a typed `attr_reader`: the baked discriminator (typed to its
def rbs_readers
  readers = []
  readers << "#{discriminator[:ruby_name]}: #{discriminator[:rbs]}" if discriminator
  readers.concat(fields.map(&:rbs_reader))
  readers << 'extensions: Hash[String, untyped]' if extensible
  readers
end