Lazy implementation is now the default. Use `--eager` to force ffs to construct the entire filesystem on startup.
NB that lazy loading is not the same as lazy parsing. There's still plenty of savings left on the table.
There is some unwelcome code duplication in saving to accommodate type-level jiggery pokery.
Benchmarks, in two flavors: real-world benchmarks and synthetic microbenchmarks.
`--time` flag for benchmarking output on stderr.
Using R to generate pretty graphs. Some overhaul of build scripts and artifacts, with the hope of simplifying the release system.
Completion generation support, with stored completions in the repo. Would be good to have a way to automatically update them.
Pull out app into separate module, `cli.rs`.