This wouldn't be much of a data reader if it can't access the read-only data pointer in read-only contexts. Especially if it can get a writable equivalent in contexts that aren't read-only.