let commalines input n =
let newline string = String.length string >= n in
let rec line_builder line rlines = function
| [] -> List.map String.trim (List.rev (line::rlines))
| str::rest ->
let comma = match rest with [] -> false | _ -> true in
let str = if comma then str ^ ", " else str in
if newline line then line_builder str (line::rlines) rest
else line_builder (line ^ str) rlines rest in
match input with
| [] -> []
| [one] -> [one]
| str::rest -> line_builder (str ^ ", ") [] rest