anchor.diff:          | null -> None 
           | _ -> 
               match Value.GetValueInfo bindingFlags (x, ty) with
  -            | UnionCaseValue (_, "Cons", recd) -> Some (unpackCons recd)
  -            | UnionCaseValue (_, "Empty", [| |]) -> None
  +            | UnionCaseValue ("Cons", recd) -> Some (unpackCons recd)
  +            | UnionCaseValue ("Empty", [| |]) -> None
               | _ -> failwith "List value had unexpected ValueInfo"
   
       let structL = wordL (tagKeyword "struct")
  
positive.code:             | RecordValue items -> 
                  recordValueL depthLim (Array.toList items)
  
              | UnionCaseValue (_,constr,recd) when // x is List<T>. Note: "null" is never a valid list value. 
                                                      x<>null && isListType (x.GetType()) ->
                  listValueL depthLim constr recd
  
              | UnionCaseValue(declaringType, unionCaseName, recd) ->
                  unionCaseValueL depthLim prec declaringType unionCaseName (Array.toList recd)
  
              | ExceptionValue(exceptionType, recd) ->
                  fsharpExceptionL depthLim prec exceptionType (Array.toList recd)
  
negative.code:                 countNodes 1
                  wordL (tagPunctuation "[]")
  
          and unionCaseValueL depthLim prec unionCaseName recd =
              countNodes 1
              let caseName = wordL (tagMethod unionCaseName)
              match recd with
              | [] -> caseName
              | recd -> (caseName --- recdAtomicTupleL depthLim recd) |> bracketIfL (prec <= Precedence.BracketIfTupleOrNotAtomic)
  