let c = Array2.zero_create am bn
   Parallel.For(0, n, fun i ->
     for j = 0 to n - 1 do
       let mutable r = 0.0
       for k = 0 to n - 1 do
         r <- r + a.[i,k] * b.[k,j]
       c.[i,j] <- r)


That is indeed a very pretty piece of code.  I was wondering.  The concurrent GC that the Jane St. folks are writing, will it be useable with the default stdlib that ships with ocaml, or will we have to use theirs?