node = root key + value ->
  select = tn bit ->
    case (bit = 0 && tn.left) ->
      tn.left
    case (bit = 1 && tn.right) ->
      tn.right
    else
      exit ERR_KEY_NOT_FOUND
    ;
  _
    tn : tree-node
    bit : 1 | 0
  ;

  value = node.data
  ' - bits-in key ( bit -> 
                           node = select node bit 
                  )
  ' node = root ..
_
  root : tree-node
  key : integer : 2^64
;