We used to map the Access trait's API to Operation one by one, but our users often found them difficult to understand.
For example, nearly no users can tell what's the different between Operation::Read and Operation::ReaderRead. Also, users also need to differ Operation::BlockingRead and Operation::Read.
Maybe we should re-consider the Operation design and make it clearer for users, especially those who need to interpret metrics and logs.