I've been thinking for awhile that RAM, NVM, flash, and disks are all part of a continuum of storage with various latencies and qualities (persistent, rewritable, clearable) and it would be interesting to try and unite the interfaces to all of them, and perhaps write different 'services' for them. A persistent-block service would look like a block device. A non-persistent page-storage service would look like current memory management. This would, I think, make some of the blurry-edged cases clearer: page files fall out quite easily, and caching at all levels could likely be united - so the page cache is just like the block cache.