anchor.diff:  module private Equality =
       open System.Reflection
   
  -    let makeGetHashCode info =
  +    let private makeGetHashCode info =
           let returnGetHashCode = ret (getHashCode info.ThisValueMemberAccess)
   
           let returnIfNull = info |> makeIfValueNull (fun block ->
  
positive.code:         |> addParameter "b" info.GeneratedTypeSyntax
          |> addBodyStatement body
  
      let makeEquals info =
          let parameterName = "other"
          let parameter = identifier parameterName :> ExpressionSyntax
  
  
negative.code:         |> addParameter "right" rightArgType
          |> addBodyStatement body
  
      let private addOperators info (classDeclaration:StructDeclarationSyntax) =
          classDeclaration
          |> addMember (makeOperator info true info.GeneratedTypeSyntax info.GeneratedTypeSyntax)
          |> addMember (makeOperator info false info.GeneratedTypeSyntax info.GeneratedTypeSyntax)
  
      let addEqualityMembers info (decl:StructDeclarationSyntax) =
          decl
          |> addBaseTypes [| iequatableOf info.GeneratedTypeSyntax |]
          |?> (info.Id.EqualsUnderlying, addBaseTypes [| iequatableOf info.UnderlyingTypeSyntax |])
          |> addMember (makeGetHashCode info)
          |> addMember (makeEquals info)
          |> addMember (makeEqualsGenerated info)
          |> addMember (makeStaticEquals info)
          |> addOperators info
          |?> (info.Id.EqualsUnderlying, addMember (makeEqualsUnderlying info))
  
  module private Casts =
      let addCast fromType toType cast expressionMaker generatedType =
  