I wrote some code to solve this problem https://www.hackerrank.com/challenges/string-o-permute which basically states: take an even length string and swap all the even indexed characters. For example the string "abcd" should become "badc". I'm looking for a general code review as I'm very new to F# and specifically I'd really like to get rid of the ignoredTupleValue variable, it seems like a kludge to me. I'd also like to collapse the whole thing into one function but I was running into scoping issues with the StringBuilder.
open System open System.Text [<EntryPoint>] let main argv = let numCases = Console.ReadLine() |> int for i = numCases downto 1 do let strIn = Console.ReadLine() let pairs = Seq.pairwise strIn let ignoredTupleValue = ('1', '1') let swappedTuples = pairs |> Seq.mapi (fun idx pair -> if idx % 2 = 0 then let (a, b) = pair (b, a) else ignoredTupleValue) let answer = Seq.fold (fun (sb : StringBuilder) pair -> if pair <> ignoredTupleValue then let (a, b) = pair sb.Append(a) |> ignore sb.Append(b) |> ignore sb) (new StringBuilder()) swappedTuples printfn "%s" (answer.ToString()) 0