The main use case that leads me to propose this is a Nipype workflow running across multiple processes. Currently, since BIDSLayout is not pickleable, all individual interfaces relying on a layout object will need to instantiate and index a bids root. It would be great to be able to have a shared object that indexes the folder only once (and I think that requires pickling).