module T::Private::RuntimeLevels

def self._toggle_checking_tests(checked)

def self._toggle_checking_tests(checked)
  @check_tests = checked
end

def self.check_tests?

def self.check_tests?
  # Assume that this code path means that some `sig.checked(:tests)`
  # has been wrapped (or not wrapped) already, which is a trapdoor
  # for toggling `@check_tests`.
  @wrapped_tests_with_validation = true
  @check_tests
end

def self.enable_checking_in_tests

def self.enable_checking_in_tests
  if !@check_tests && @wrapped_tests_with_validation
    raise "Toggle `:tests`-level runtime type checking earlier. " \
      "There are already some methods wrapped with `sig.checked(:tests)`." \
  end
  _toggle_checking_tests(true)
end