db: init tree

Can you keep the Value and Path interface and create private value and path struct?

Value and Path are exposed to users and something like Path#Less isn't desired.