Backported from the lazy-trees branch. Note that this doesn't yet use the access control features of FSInputAccessor.