anchor.diff:  
           let BoolFns =
               { Bool = fun value _ -> Bool (value)
  -              Int = fun value _ -> Bool ((value = 0))
  -              Int64 = fun value _ -> Bool ((value = 0L))
  -              Single = fun value _ -> Bool ((value = 0.0f))
  -              Double = fun value _ -> Bool ((value = 0.0))
  +              Int = fun value _ -> Bool (value = 0)
  +              Int64 = fun value _ -> Bool (value = 0L)
  +              Single = fun value _ -> Bool (value = 0.0f)
  +              Double = fun value _ -> Bool (value = 0.0)
                 Vector2 = fun _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Unary"; !!"Conversion"; !!"Bool"], "Cannot convert a vector to a bool.", originOpt)
                 String = fun value _ -> Bool (scvalue value)
                 Tuple = fun _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Unary"; !!"Conversion"; !!"Bool"], "Cannot convert a bool to a tuple.", originOpt)
  
positive.code:               Table : Map<Expr, Expr> -> Map<Expr, Expr> -> SymbolOrigin option -> Expr }
  
          let EqFns =
              { Bool = fun left right _ -> Bool ((left = right))
                Int = fun left right _ -> Bool ((left = right))
                Int64 = fun left right _ -> Bool ((left = right))
                Single = fun left right _ -> Bool ((left = right))
                Double = fun left right _ -> Bool ((left = right))
                Vector2 = fun left right _ -> Bool ((left = right))
                String = fun left right _ -> Bool ((left = right))
                Tuple = fun left right _ -> Bool ((left = right))
                Keyphrase = fun left right _ -> Bool ((left = right))
                List = fun left right _ -> Bool ((left = right))
                Ring = fun left right _ -> Bool ((left = right))
                Table = fun left right _ -> Bool ((left = right)) }
  
          let NotEqFns =
              { Bool = fun left right _ -> Bool ((left <> right))
                Int = fun left right _ -> Bool ((left <> right))
                Int64 = fun left right _ -> Bool ((left <> right))
                Single = fun left right _ -> Bool ((left <> right))
                Double = fun left right _ -> Bool ((left <> right))
                Vector2 = fun left right _ -> Bool ((left <> right))
                String = fun left right _ -> Bool ((left <> right))
                Tuple = fun left right _ -> Bool ((left <> right))
                Keyphrase = fun left right _ -> Bool ((left <> right))
                List = fun left right _ -> Bool ((left <> right))
                Ring = fun left right _ -> Bool ((left <> right))
                Table = fun left right _ -> Bool ((left <> right)) }
  
          let LtFns =
              { Bool = fun left right _ -> Bool ((left < right))
                Int = fun left right _ -> Bool ((left < right))
                Int64 = fun left right _ -> Bool ((left < right))
                Single = fun left right _ -> Bool ((left < right))
                Double = fun left right _ -> Bool ((left < right))
                Vector2 = fun left right _ -> Bool ((left.LengthSquared < right.LengthSquared))
                String = fun left right _ -> Bool ((left < right))
                Tuple = fun left right _ -> Bool ((left < right))
                Keyphrase = fun left right _ -> Bool ((left < right))
                List = fun left right _ -> Bool ((left < right))
                Ring = fun left right _ -> Bool ((left < right))
                Table = fun left right _ -> Bool ((left < right)) }
  
          let GtFns =
              { Bool = fun left right _ -> Bool ((left > right))
                Int = fun left right _ -> Bool ((left > right))
                Int64 = fun left right _ -> Bool ((left > right))
                Single = fun left right _ -> Bool ((left > right))
                Double = fun left right _ -> Bool ((left > right))
                Vector2 = fun left right _ -> Bool ((left.LengthSquared > right.LengthSquared))
                String = fun left right _ -> Bool ((left > right))
                Tuple = fun left right _ -> Bool ((left > right))
                Keyphrase = fun left right _ -> Bool ((left > right))
                List = fun left right _ -> Bool ((left > right))
                Ring = fun left right _ -> Bool ((left > right))
                Table = fun left right _ -> Bool ((left > right)) }
  
          let LtEqFns =
              { Bool = fun left right _ -> Bool ((left <= right))
                Int = fun left right _ -> Bool ((left <= right))
                Int64 = fun left right _ -> Bool ((left <= right))
                Single = fun left right _ -> Bool ((left <= right))
                Double = fun left right _ -> Bool ((left <= right))
                Vector2 = fun left right _ -> Bool ((left.LengthSquared <= right.LengthSquared))
                String = fun left right _ -> Bool ((left <= right))
                Tuple = fun left right _ -> Bool ((left <= right))
                Keyphrase = fun left right _ -> Bool ((left <= right))
                List = fun left right _ -> Bool ((left <= right))
                Ring = fun left right _ -> Bool ((left <= right))
                Table = fun left right _ -> Bool ((left <= right)) }
  
          let GtEqFns =
              { Bool = fun left right _ -> Bool ((left >= right))
                Int = fun left right _ -> Bool ((left >= right))
                Int64 = fun left right _ -> Bool ((left >= right))
                Single = fun left right _ -> Bool ((left >= right))
                Double = fun left right _ -> Bool ((left >= right))
                Vector2 = fun left right _ -> Bool ((left.LengthSquared >= right.LengthSquared))
                String = fun left right _ -> Bool ((left >= right))
                Tuple = fun left right _ -> Bool ((left >= right))
                Keyphrase = fun left right _ -> Bool ((left >= right))
                List = fun left right _ -> Bool ((left >= right))
                Ring = fun left right _ -> Bool ((left >= right))
                Table = fun left right _ -> Bool ((left >= right)) }
  
          let AddFns =
              { Bool = fun left right _ -> Bool ((if left && right then false elif left then true elif right then true else false))
                Int = fun left right _ -> Int ((left + right))
                Int64 = fun left right _ -> Int64 ((left + right))
                Single = fun left right _ -> Single ((left + right))
                Double = fun left right _ -> Double ((left + right))
                Vector2 = fun left right _ -> Vector2 ((left + right))
                String = fun left right _ -> String ((left + right))
                Tuple = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Add"], "Cannot add tuples.", originOpt)
                Keyphrase = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Add"], "Cannot add phrases.", originOpt)
                List = fun left right _ -> List ((left @ right))
                Ring = fun left right _ -> Ring ((Set.union left right))
                Table = fun left right _ -> Table ((left @@ right)) }
  
          let SubFns =
              { Bool = fun left right _ -> Bool ((if left && right then false elif left then true elif right then true else false))
                Int = fun left right _ -> Int ((left - right))
                Int64 = fun left right _ -> Int64 ((left - right))
                Single = fun left right _ -> Single ((left - right))
                Double = fun left right _ -> Double ((left - right))
                Vector2 = fun left right _ -> Vector2 ((left - right))
                String = fun left right _ -> String (left.Replace (right, String.Empty))
                Tuple = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Sub"], "Cannot subtract tuples.", originOpt)
                Keyphrase = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Sub"], "Cannot subtract phrases.", originOpt)
  
negative.code:               Table = fun _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Unary"; !!"Conversion"; !!"Bool"], "Cannot convert a table to a bool.", originOpt) }
  
          let IntFns =
              { Bool = fun value _ -> Int (if value then 1 else 0)
                Int = fun value _ -> Int (value)
                Int64 = fun value _ -> Int (int value)
                Single = fun value _ -> Int (int value)
  