class T::Enum

def self.inherited(child_class)

def self.inherited(child_class)
  super
  raise "Inheriting from children of T::Enum is prohibited" if self != T::Enum
  # "oj" gem JSON support
  if Object.const_defined?(:Oj)
    Object.const_get(:Oj).register_odd(child_class, child_class, :try_deserialize, :serialize)
  end
end