There is an entry type in `tables` impl (`KeyValuePair`), but it is unexposed/unexported. What my `template` does is let the user manipulate a Nim `ptr` to their own `V` value type..and they presumably understand their own types. { We can hope, anyway! :-) } Maybe not the safest thing ever, but pretty close to the Rust mutable ref for a `val`. This API is also for the performance minded who probably trade-off safety for speed on occasion.
There may be a safer way still to not use a `ptr` s at all and just let the user access the `value` field as a symbolic (`var`-qualified) expression in either `body` clause. I suspect that would require a `macro`, but have not really tried to do it. This may be the best choice of all -- both safe & flexible - if someone wants to have a crack at it.