anchor.diff:  
           SyntaxFactory.MethodDeclaration(TypeSyntax.Int, "GetHashCode")
           |> addModifiers [|SyntaxKind.PublicKeyword; SyntaxKind.OverrideKeyword|]
  -        |?> (info.AllowNull, addBodyStatement returnIfNull)
  +        |?> (info.CanBeNull, addBodyStatement returnIfNull)
           |> addBodyStatement returnGetHashCode
   
       /// Call the most adapted underlying equals method between underlying-typed expressions.
  
positive.code: 
      SyntaxFactory.MethodDeclaration(TypeSyntax.String, "ToString")
      |> addModifiers [|SyntaxKind.PublicKeyword; SyntaxKind.OverrideKeyword|]
      |?> ((info.AllowNull && not isString), addBodyStatement returnIfNull)
      |> addBodyStatement returnToString
  
  module private Equality =
  
negative.code: 
      {
          Id = idType
          CanBeNull = idType.UnderlyingType.IsClass || idType.UnderlyingType.IsInterface
          AllowNull = idType.AllowNull
          NamespaceProvided = namespaceProvided
          UnderlyingTypeSyntax = SyntaxFactory.ParseTypeName(idType.UnderlyingType.FullName)
          GeneratedTypeSyntax  = SyntaxFactory.ParseTypeName(idType.Name)
  