diff --git a/prototype/Doubt/Interpreter.swift b/prototype/Doubt/Interpreter.swift index aec1cb0a9..d11a5eb65 100644 --- a/prototype/Doubt/Interpreter.swift +++ b/prototype/Doubt/Interpreter.swift @@ -29,6 +29,9 @@ public struct Interpreter { case let (.Indexed(a), .Indexed(b)) where a.count == b.count: return recur(f(.Indexed(zip(a, b).map(run)))) + case let (.Keyed(a), .Keyed(b)) where Array(a.keys) == Array(b.keys): + return recur(f(.Keyed(Dictionary(elements: b.keys.map { ($0, self.run(a[$0]!, b[$0]!)) })))) + default: return nil }