```rust impl Statement { pub(crate) fn name(&self) -> &str { ... } } ``` Otherwise downstream projects need to make their own cache key generator which is awkward. What do you think @sfackler?