[=] all getters of BTValue is pure
[=] pure optimizations
[=] check end of data