どう書く? - ピラミッド作成

ピラミッドを作る - どう書く? org与えられた文字列でピラミッド - どう書く? org をF#で考えてみました。

module Pyramid1 =
  //http://ja.doukaku.org/8/
  let Pyramid (stageCount : int)  =
    for i=1 to stageCount do
      Array.create (stageCount - i) " " |> Array.iter (printf "%s")
      Array.create (i * 2 - 1) "*" |> Array.iter (printf "%s")
      printfn ""

module Pyramid2 =
  //http://ja.doukaku.org/52/
  let Pyramid (str : string) = 
    let _str = Array.ofSeq str
    for i=0 to _str.Length-1 do
      for j in [0 .. (_str.Length - 1 - i)] do
        printf " "
      for j in [(_str.Length - 1 - i) .. (_str.Length - 1)] do 
        printf "%c " _str.[j]
      printfn ""

[<EntryPoint>]
let main(args : string[]) =
 Pyramid1.Pyramid 10
 Pyramid2.Pyramid "abracadabra"
 0