📝Content-addressable storage makes it easy to cache intermediate results
Because content in content-addressable storage never changes, it is easy to cache intermediate results by using the hash of content as a key.
Combined with purely-functional programming, this makes a lot of things cache-able.
Unison can cache:
build results (for individual functions)
test results
computed types