All attempts to access data check if they are valid and throw if they are not. This can be a bit expensive. Worth checking if people want speedups.