anchor.diff:              | ("op_GreaterThanOrEqual", [arg; arg2]) -> Ge (Subquery.unquote arg, Subquery.unquote arg2)
               | ("isType", [arg]) ->
                   match (arg, info.GetGenericArguments ()) with
  -                | (Patterns.Value (:? string as varName, _),  [|ty|]) -> ByType (varName, ty)
  +                | (Patterns.Value (:? string as varName, _), [|ty|]) -> ByType (varName, ty)
                   | (_, _) -> failwith "Invalid IsType arguments."
               | _ -> failwith "Unsupported call."
           | _ -> failwith "Unsupport Subquery expression."
  
positive.code:     | V3Ctor of Subquery * Subquery * Subquery
      | Box3Ctor of Subquery * Subquery
      | PairCtor of Subquery * Subquery
      | Tagged of Subquery
      | Eq of Subquery * Subquery
      | Gt of Subquery * Subquery
  
negative.code:         | Patterns.Var var ->
              Var var.Name
          | Patterns.Value (value, ty) ->
              if ty = typeof<bool> then Val (Bool (value :?> bool))
              elif ty = typeof<int> then Val (Int (value :?> int))
              elif ty = typeof<single> then Val (Single (value :?> single))
              elif ty = typeof<Map<string, Term> -> Term> then Fun (value :?> (Map<string, Term> -> Term))
              else failwith "Unsupported Val or Fun type."
          | Patterns.Let (var, q, q2) -> 
  