anchor.diff:              let inline funcPrec sep input =
                   let o = box input
                   match o with
  -                | :? string -> fun (x: obj) -> 
  +                | :? 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 -> 
  +                | :? 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 -> 
  +                | :? System.Collections.IEnumerable -> fun x ->
                       let sb = new System.Text.StringBuilder()
                       let a = x :?> System.Collections.IEnumerable
                       for i in a do
  
positive.code:                     let res = sb.ToString()
                      sb.Clear() |> ignore
                      res
                  | _ -> fun x -> 
                      let sb = new System.Text.StringBuilder()
                      sb.AppendFormat(sprintf "%s{0}"sep, x) |> ignore
                      let res = sb.ToString()
  
negative.code:                     | _ ->
                          let props = dataType.GetProperties()
                                      |> List.ofArray
                          let stringFunc =
                              let firstElememt = data |> Seq.head
                              props |> List.map ( fun prop ->
                                  prop.GetValue(firstElememt, null)
                                                )
                                  |> List.mapi (fun i value ->
                                      if i = 0 then
                                          formatFunctionsFst separator value
                                      else
                                          formatFunctionsRest separator value
                                               )
                          data |> Seq.map ( fun line ->
                                      props |> List.map ( fun prop ->
                                      prop.GetValue(line, null) ))
                                      |> Seq.map2 (fun func value ->
                                                       func value
                                                  ) stringFunc
  
                  yield! lines
              }
  
          static member inline toCSV (separator:string) (header:bool) (data:'a seq) =
  
              let inline toPrettyHeaderString sep input fieldName  =
                  let o = box input
                  match o with
  