The Read trait from core and implemented by File defines a read() method that accepts a mutable buffer as an argument, which avoids performing unnecessary memory allocations. Does it make sense to have the random access storage ecosystem also use this pattern?