anchor.diff:          (equals (info.ValueMemberAccess) Literal.Null)
           (fillBlock emptyBlock)
   
  -let private makeToString info idType =
  -    let isString = idType.Type = typedefof<string>
  +let private makeToString info =
  +    let isString = info.Id.Type = typedefof<string>
       let returnToString =
           if isString then
  -            (ret (thisMemberAccess idType.ValueProperty))
  +            (ret (thisMemberAccess info.Id.ValueProperty))
           else
               info |> returnCallVoidMethodOnValue "ToString"
   
  
positive.code:             (block [|throw (objectCreation typenameof<ArgumentNullException> [|Literal.String argName|]) |])
  
      let assignProperty =
          setThisMember idType.ValueProperty (SyntaxFactory.IdentifierName(argName))
  
      SyntaxFactory.ConstructorDeclaration(idType.Name)
      |> addModifiers [|SyntaxKind.PublicKeyword|]
      |> addParameter argName info.UnderlyingTypeSyntax
      |?> (not info.AllowNull, addBodyStatement checkForNull)
  
negative.code: 
      let castParameterToType t = cast t parameter
      
      let returnEqualsValue expr = ret (objectEquals (identifier info.Id.ValueProperty) expr)
  
      let returnArgCastToIdValueEqualsValue =
          returnEqualsValue ((castParameterToType info.GeneratedTypeSyntax) |> memberAccess info.Id.ValueProperty)
  
      let returnArgCastToUnderlyingEqualsValue = 
          returnEqualsValue (castParameterToType info.UnderlyingTypeSyntax)
  