anchor.diff:              | [] -> None
               | [ fileName ] -> Some (fileName, true)
               | dirName :: _ -> Some (dirName, false))
  -        |> Seq.toList
  -        |> List.choose (function (Some k, v) -> Some (k, v) | _ -> None)
  -        |> List.map (fun ((name, isFile), childPaths) ->
  +        |> Seq.choose (function (Some k, v) -> Some (k, v) | _ -> None)
  +        |> Seq.map (fun ((name, isFile), childPaths) ->
               if isFile then Blob (prevPath + name, name, BlobType.BlockBlob, None)
               else
                   let folderName = name + "/"
  -                let subPaths = childPaths |> Seq.toList |> List.map List.tail
  +                let subPaths = childPaths |> Seq.map List.tail
                   let path = prevPath + folderName
  -                Folder (path, folderName, lazy (toFileTrees path subPaths |> List.toArray)))
  +                Folder (path, folderName, lazy (toFileTrees path subPaths |> Seq.toArray)))
   
       toFileTrees "" segmentedPaths
   
  
positive.code:     |> Seq.groupBy fst
      |> Seq.map (fun (containerName, paths) ->
          { Name = containerName
            Contents = lazy (paths |> Seq.map snd |> pathsToContainerItems |> List.toSeq) })
      |> Seq.toList
  
  let createSchema resolutionFolder path =
  
negative.code: let private pathsToContainerItems paths =
      let segmentedPaths =
          paths
          |> Seq.map (fun (path:string) -> path.Split([| '/' |], StringSplitOptions.RemoveEmptyEntries) |> Array.toList)
      
      let rec toFileTrees prevPath childPaths = 
          childPaths
  