anchor.diff:          CanBeNull = idType.UnderlyingType.IsClass || idType.UnderlyingType.IsInterface
           AllowNull = idType.AllowNull
           NamespaceProvided = namespaceProvided
  -        UnderlyingTypeSyntax = SyntaxFactory.ParseTypeName(idType.UnderlyingType.FullName)
  +        UnderlyingTypeSyntax = NameSyntax.FromType(idType.UnderlyingType)
           GeneratedTypeSyntax  = SyntaxFactory.ParseTypeName(idType.Name)
           ThisValueMemberAccess = thisMemberAccess fieldName
           ValueAccess = (fun expr -> expr |> dottedMemberAccess [fieldName])
  
positive.code:         |> addBodyStatement body
  
      let makeEquals info =
          let returnIfNull = info |> makeIfValueNull (fun block ->
              block |> addStatement (ret (Literal.Int 0))
              )
  
          let parameterName = "other"
          let parameter = identifier parameterName :> ExpressionSyntax
  
  
negative.code: let private value info x = x :> ExpressionSyntax |> info.ValueAccess
  
  let private (|?>) x (c, f) = if c then f x else x
  
  let private visibilityToKeyword = function
      | Public -> SyntaxKind.PublicKeyword
  