anchor.diff:                          Column = None
                       }
               }
  +
       member this.Similarity(source : SourceInfo, sim : SimilarityExpr) =
           let input = this.Expr(sim.Input)
           let pattern = this.Expr(sim.Pattern)
  
positive.code:                     Column = None
                  }
          }
      member this.Cast(source : SourceInfo, cast : CastExpr) =
          let input = this.Expr(cast.Expression)
          let ty = InferredType.OfTypeName(cast.AsType, input.Info.Type)
  
negative.code:         | CaseExpr case -> this.Case(source, case)
          | ScalarSubqueryExpr select -> this.ScalarSubquery(source, select)
          | RaiseExpr raise -> { Source = source; Value = RaiseExpr raise; Info = ExprInfo<_>.OfType(InferredType.Any) }
  
      member this.Expr(expr : Expr, ty : CoreColumnType) =
          let expr = this.Expr(expr)
          cxt.Unify(expr.Info.Type, ty) |> resultOk expr.Source
  