anchor.diff:          |> addMember' Equality.makeGetHashCode
           |> addMember' Equality.makeEquals
           |> addMember' Equality.makeEqualsGenerated
  +        |> Equality.addOperators info
           |?> (info.Id.EqualsUnderlying, addMember' Equality.makeEqualsUnderlying)
           |> Casts.addCastFromUnderlyingType info
           |> Casts.addCastToUnderlyingType info
  
positive.code:     let iequatableOf t =
          SyntaxFactory.QualifiedName(iEquatableNamespace, NameSyntax.MakeGeneric iEquatable.Name [|t|])
  
  module private Casts =
      let addCast fromType toType cast expressionMaker generatedClass =
          let parameterName = "x"
  
negative.code:             SyntaxFactory.ConversionOperatorDeclaration(SyntaxFactory.Token(cast'), toType)
                  |> addModifiers [|SyntaxKind.PublicKeyword;SyntaxKind.StaticKeyword|]
                  |> addParameter parameterName fromType
                  |> addBodyStatement (ret (expressionMaker parameterName)) 
  
          let addCast' cast' = generatedClass |> addMember (makeCast cast')
  
  