anchor.diff:                          | ty when ty = typeof<System.Enum> -> dataType.Name
                           // array type to string
                           | ty when ty.IsArray ->
  -                            data |> Seq.map (fun x -> toPrettyHeaderString separator x dataType.Name) |> String.concat separator
  +                            data |> Seq.map (fun x -> formatFunctionHeader separator (box x) dataType.Name) |> String.concat separator
                           | ty when ty = typeof<System.Enum> -> dataType.Name
                           // union type
                           | ty when FSharpType.IsUnion ty -> dataType.Name
  
positive.code:                         data |> Seq.map elemToStr
                       //tuple type
                      | ty when FSharpType.IsTuple ty ->
                          data |> Seq.map FSharpValue.GetTupleFields |> Seq.map (toPrettyString separator)
                      // objects
                      | _ ->
                          let props = dataType.GetProperties()
                          data |> Seq.map ( fun line ->
                                      props |> Array.map ( fun prop ->
                                      prop.GetValue(line, null) )) |> Seq.map (toPrettyString separator)
  
                  yield! lines
              }
  
          static member inline toCSV (separator:string) (header:bool) (data:'a seq) =
              //function that returns this list when applied to record type?
              //how to handle first entry?
  
              let inline funcPrecHead sep input =
                  let o = box input
  
negative.code:                             let fields = Reflection.FSharpType.GetRecordFields(dataType)
                                           |> Array.map (fun field -> FSharpValue.GetRecordField(firstElement, field), field.Name)
                              fields
                              |> Seq.map(fun (field,name) -> formatFunctionHeader separator field name)
                              |> String.concat separator
                          // tuple type
                          | ty when FSharpType.IsTuple ty ->
  