Better define public and private interfaces of BlockSeries
The correct way of using BlockSeries
is:
- You are allowed to modify
data
or.eval
- You may only access terms by using
.evaluated
Someone may be tempted to use BlockSeries.data
while forgetting that the data may change in the future, or call .eval
, which avoids caching.
We should make this explicit by:
- Renaming
data
→_data
- Making
.eval
a property with a setter but no getter.