anchor.diff:                              |> Seq.mapi (fun idx info -> (sprintf "%s_%i" info.Name idx) ) |> String.concat separator
                           // objects
                           | _ -> dataType.GetProperties()
  -                                |> Seq.map (fun info -> info.Name) |> String.concat separator
  +                               |> Seq.map (fun info -> info.Name) |> String.concat separator
                       yield header
  -
   
                   let lines =
                       match dataType with
  
positive.code:             let inline funcPrec sep input =
                  let o = box input
                  match o with
                  | :? string -> fun (x: obj) -> 
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat(sprintf "%s{0}"sep, x) |> ignore
                      let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | :? System.Enum -> fun x -> 
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat(sprintf "%s{0}"sep, x) |> ignore
                      let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | :? System.Collections.IEnumerable -> fun x -> 
                      let sb = new System.Text.StringBuilder()
                      let a = x :?> System.Collections.IEnumerable
                      for i in a do
  
negative.code:             let inline funcPrecHead sep input =
                  let o = box input
                  match o with
                  | :? string -> fun (x: obj) ->
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat("{0}", x) |> ignore
                      let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | :? System.Enum -> fun x ->
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat("{0}", x) |> ignore
                      let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | :? System.Collections.Generic.IEnumerable<'T> -> fun x ->
                      let sb = new System.Text.StringBuilder()
                      let a = x :?>  System.Collections.Generic.IEnumerable<'T>
                      a
                      |> Seq.iteri (fun i x ->
                          if i = 0 then
                              sb.AppendFormat("{0}", x) |> ignore
                          else
                              sb.AppendFormat(sprintf "%s{0}"sep, x) |> ignore
                                   )
                      let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | _ -> fun x ->
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat("{0}", x) |> ignore
                      let res = sb.ToString()
  