Tracked is a user-hostile abstraction
Closed this issue · 0 comments
dherman commented
The Tracked type requires all clients to constantly select the .value
out of any node that has source location information, which adds up to a ton of boilerplate in the world of client code. To save clients, the Tracked type's location
field should just be open-coded into all types that implement Track
. This means less abstraction in the implementation, but more abstraction in client code.
If and when fields in traits becomes a thing, the implementation can be abstracted better.