···40404141 def tag_for(value)
4242 @members.each { |tag, type| return tag if type === value }
4343- nil
4343+ raise Literal::ArgumentError.new("No tag found for #{value.inspect} in #{inspect}.")
4444 end
45454646 def type_of(value)
4747 @members.each_value { |type| return type if type === value }
4848- nil
4848+ raise Literal::ArgumentError.new("No type found for #{value.inspect} in #{inspect}.")
4949 end
50505151 def resolve(value)
5252 @members.each { |tag, type| return tag, type if type === value }
5353- nil
5353+ raise Literal::ArgumentError.new("No match found for #{value.inspect} in #{inspect}.")
5454 end
55555656 def >=(other)