module Kernel

def describe desc, *additional_desc, &block # :doc:

:doc:
def describe desc, *additional_desc, &block # :doc:
  stack = Minitest::Spec.describe_stack
  name  = [stack.last, desc, *additional_desc].compact.join("::")
  sclas = stack.last || if Class === self && kind_of?(Minitest::Spec::DSL) then
                          self
                        else
                          Minitest::Spec.spec_type desc, *additional_desc
                        end
  cls = sclas.create name, desc
  stack.push cls
  cls.class_eval(&block)
  stack.pop
  cls
end