@@ -69,6 +69,10 @@ reflectListEffElem [] = Refine "Here" `Seq` Solve
69reflectListEffElem (x :: xs)
69reflectListEffElem (x :: xs)
70 = Try (Refine "Here" `Seq` Solve)
70 = Try (Refine "Here" `Seq` Solve)
71 (Refine "There" `Seq` (Solve `Seq` reflectListEffElem xs))
71 (Refine "There" `Seq` (Solve `Seq` reflectListEffElem xs))
73+-- The evaluator needs a 'function case' to know its a reflection function
74+-- until we propagate that information! Without this, the _ case won't get
72reflectListEffElem (x ++ y) = Refine "Here" `Seq` Solve
76reflectListEffElem (x ++ y) = Refine "Here" `Seq` Solve
73reflectListEffElem _ = Refine "Here" `Seq` Solve
77reflectListEffElem _ = Refine "Here" `Seq` Solve