anchor.diff:          let unitTy = TyCon <| BaseTy TyUnit
           let varName = Guid.string()
           let (condition, assignments) = compilePattern left (dummyWrap (VarExp (varName, [], [])))
  -        output "(([&]() -> " + compileType ty + output " {" + indentId() + newline() +
  +        output ("((" + capture + "() -> ") + compileType ty + output " {" + indentId() + newline() +
           compile (dummyWrap (InternalDeclareVar {varName=varName; typ=ty; right=right})) + output ";" + newline() +
           output "if (!(" + compile condition + output ")) {" + newline() + indentId() +
           compile (getQuitExpr unitTy) + output ";" + newline() + unindentId() +
  
positive.code:         newline() +
          indentId() +
          output "return " +
          compile clause.body +
          output ";" +
          unindentId() +
          newline() +
  
negative.code:     // is returned
      | SequenceExp sequence ->
          let len = List.length sequence
          output "((" + capture + "() -> " +
          compileType ty +
          output " {" +
          newline() +
  