File.TreeA lazy tree structure mirroring the filesystem ; uses the comparison from File, so paths are case-insensitive.
type path = tAlias for File.t
Contents of a directory, lazily loaded. The map keys are the basenames of the files and subdirectories, while the values contain the original path (with correct capitalisation)
val empty : tLazily builds a Tree.path from the files read at path. The names in the maps are qualified (i.e. they all start with "path/")
Checks if there is a matching plain file (after projection to ASCII using `String.to_id`, and case-insensitively) ; and returns its path with the correct case if so