Seekable
Seekable permits random access read and write
Multiple Accesses
Multiple Random accesses from a file opened only a single time
// TODO at the moment I am not sure what the best way to perform multiple
// read / write operations on a single file. The typical seek - write - seek - read
// does not seem very "scala-like"
// A potential idea is to have the access like:
// file.apply { file =>
// val name:Seekable = file.bytes.slice(5,10) // take bytes 5 -> 10
// name.write("hello")(codec) // overwrite bytes 5-10
// }