module ReeEnum::Contractable

def message(value, name, lvl = 1)

def message(value, name, lvl = 1)
  return "expected one of #{self.name}, got #{value.class} => #{truncate(value.inspect)}"
end

def valid?(value)

def valid?(value)
  value.is_a?(ReeEnum::Value) && value.enum_name == self.enum_name && all.include?(value)
end