Uhm what is he trying to say here? Arrays are sequences (they implement IEnumerable<T>), it is implied that you can use an array of arrays when it says you can use a sequence of arrays. You can also use a list of arrays. Or any other sort of sequence of arrays.
> We see that it indeed does take a sequence of arrays, may be an array of arrays is coerced via Array.toSeq before the concat operation happens.
That's exactly the opposite of what happens in the code. The concatArrays function takes an array of arrays. If the concat function is given a sequence that isn't an array then it converts that sequence to an array of arrays using Array.toSeq. Also "coerced" is the wrong term, it's just converted.
Another thing:
> Then we call the C# class method Array.Copy.
The author seems to be conflating C# with .NET.
Array.Copy is part of mscorlib which is the most basic parts of .NET, and is defined in the ECMA-335 standard.
Although having said that, the source for FSharp.Control[2] (MailboxProcessor and its support types and functions) still leaves my head spinning somewhat!
[1] https://github.com/fsharp/fsharp
[2] https://github.com/fsharp/fsharp/blob/master/src/fsharp/FSha...