I developed this in the course of working on help system: [https://pastebin.com/P0VPGaQ3]
Syntax: tbl = walkdir(dir, ext)
dir may be a Directory object or a path .
ext is optional and may be a string or a table or strings.
If ext is omitted, all files are returned, otherwise the files with matching extensions are returned, in both cases as a table of file objects.
Each file is indexed as both tbl [#] and tbl[file.fullpath].