On Tue, Nov 22, 2022 at 9:12 PM Stefan Monnier <monnier@iro.umontreal.ca> wrote:
 
Can we just agree that both are important and that it can be hard to
know beforehand which consideration should dominate?

I'd agree to that. But this is not "beforehand", there are really large projects
out there.  Given a tree a tree structure such as a file system that can have
very many nodes, not having any means to take advantage of that structure
tree-ness (as project.el clearly doesn't: see the protocol of project-files and
the lack of sub-projects) is going to be a hard limitation.  Monorepos
are really popular in many businesses and many of these are large and/or
getting larger.

It does makes sense to start simple, but ignoring scale rarely yields
the "desired behaviour" unless that behavior is waiting forever.

Example: Git "started simple" then grew sparse checkouts, shallow
clones, worktrees.  You don't _have_ to use these features, but when you
do need them, it's very good that they are there.