require 'equalizer'
require 'inflecto'

require 'rom/version'
require 'rom/constants'

# internal ROM support lib
require 'rom/support/registry'
require 'rom/support/options'
require 'rom/support/class_macros'
require 'rom/support/class_builder'

# core parts
require 'rom/relation'
require 'rom/mapper'
require 'rom/reader'
require 'rom/command'

# default mapper processor using Transproc gem
require 'rom/processor/transproc'

# support for global-style setup
require 'rom/global'
require 'rom/setup'

# TODO: consider to make this part optional and don't require it here
require 'rom/setup_dsl/setup'

# env with registries
require 'rom/env'

module ROM
  extend Global

  RelationRegistry = Class.new(Registry)
  ReaderRegistry = Class.new(Registry)
end

require 'descendants_tracker'
require 'equalizer'
require 'inflecto'

require 'rom/version'
require 'rom/constants'

# internal ROM support lib
require 'rom/support/registry'
require 'rom/support/options'
require 'rom/support/class_macros'
require 'rom/support/class_builder'

# core parts
require 'rom/relation'
require 'rom/mapper'
require 'rom/reader'
require 'rom/command'

# default mapper processor using Transproc gem
require 'rom/processor/transproc'

# support for global-style setup
require 'rom/global'
require 'rom/setup'

# TODO: consider to make this part optional and don't require it here
require 'rom/setup_dsl/setup'

# env with registries
require 'rom/env'

module ROM
  extend Global

  RelationRegistry = Class.new(Registry)
  ReaderRegistry = Class.new(Registry)
end

Revert "No need to require unused DescendantsTracker"
Revert "No need to require unused DescendantsTracker"

It breaks the build because of missing ThreadSafe?
Needs further investigation.

This reverts commit 6565b89ea70b377981a0e19e98bedf989bbfb62e.
