Structuring Rust Transactions I've been working on a database-related project in Rust recently, which takes advantage of my concurrently readable datastructures. However I ran into a problem of how to structure Read/Write transaction structures that shared the reader code, and container multiple inner read/write types. Some Constraints To be clear, there are some constraints. A "parent" write, will only ever contain write transaction guards, and a read will only ever contain read transaction ...