global
def rbs_readers
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