anchor.diff:  
                   let lines =
                       match dataType with
  -                    // simple value type to string
  +                    //simple value type to string
                       | ty when ty.IsValueType ->
                           data |> Seq.map (fun x -> sprintf "%A" x)
                       // string to string ::
  
positive.code:                     // record type
                      | ty when FSharpType.IsRecord ty ->
                          let fields = Reflection.FSharpType.GetRecordFields(dataType)
                          let elemToStr (elem:'record) =
                              //for each field get value
                              fields
                              |> Seq.map(fun field -> toPrettyString separator (FSharpValue.GetRecordField(elem,field)) )
                              |> String.concat separator
                          data |> Seq.map elemToStr
                      // tuple type
                      | ty when FSharpType.IsTuple ty ->
                          data |> Seq.map FSharpValue.GetTupleFields |> Seq.map (toPrettyString separator)
                      // objects
  
negative.code:                         // record type
                          | ty when FSharpType.IsRecord ty ->
                              let fields = Reflection.FSharpType.GetRecordFields(dataType)
                                           |> Array.map (fun field -> FSharpValue.GetRecordField(firstElement, field), field.Name)
                              fields
                              |> Seq.map(fun (field,name) -> toPrettyHeaderString separator field name)
                              |> String.concat separator
                          // tuple type
                          | ty when FSharpType.IsTuple ty ->
  