open System.IO let rec allFiles dirs = if Seq.isEmpty dirs then Seq.empty else seq { yield! dirs |> Seq.collect Directory.EnumerateFiles yield! dirs |> Seq.collect Directory.EnumerateDirectories |> allFiles }