See discussion #4425 (comment)
There is no current use case where the caller should need to modify the data after Put or the data after Get. Because of this, we can consider moving this requirements from the interface (https://github.com/ava-labs/avalanchego/blob/master/database/database.go#L100-L117) and update x/blockdb to not need to clone the data before Put and after Get in the cached database.