module T::Private::Sealed::NoIncludeExtend

def sealed_subclasses

def sealed_subclasses
  # this will freeze the set so that you can never get into a
  # state where you use the subclasses list and then something
  # else will add to it
  @sorbet_sealed_module_all_subclasses_set ||= # rubocop:disable Naming/MemoizedInstanceVariableName
    begin
      require 'set'
      Set.new(@sorbet_sealed_module_all_subclasses).freeze
    end
end