module Temple::Mixins::CompiledDispatcher
def case_statement(types)
def case_statement(types) code = "type, *args = args\ncase type\n" types.each do |name, method| code << "when #{name.to_sym.inspect}\n" << (Hash === method ? case_statement(method) : "#{method}(*args)\n") end code << "else\nexp\nend\n" end