nbt: split into value/encode/parse