What should cross a module boundary?
Values have meanings that callers can inspect independently. A boundary that passes values makes decisions easier to exercise without setting up the surrounding infrastructure.
Read on through a shared source
Can today’s record explain yesterday’s decision? →Keep the value a decision actually used so that later changes do not erase its explanation.What did the record say at the time? →Access patterns determine how to organize a store. Retaining historical facts determines which past questions it will ever be able to answer.What does a snapshot promise its reader? →Stable snapshots let observers read a particular version. Treating information as values explains why that version can be passed on without changing its meaning.
Compare the passages
values are immutable right and values are semantically transparentwe now have values as boundaries.