code: func NewRWTree(db dbm.DB, cacheSize int) *RWTree {
  	tree := NewMutableTree(db, cacheSize)
  	return &RWTree{
  		tree:          tree,
  		ImmutableTree: &ImmutableTree{iavl.NewImmutableTree(db, cacheSize)},
  	}
  }
docs: // Creates a concurrency safe version of an IAVL tree whereby reads are routed to the last saved tree.
  // Writes must be serialised (as they are within a commit for example).