code: func (n *node) Get(bucketName string, key interface{}, to interface{}) error {
  	ref := reflect.ValueOf(to)
  
  	if !ref.IsValid() || ref.Kind() != reflect.Ptr {
  		return ErrPtrNeeded
  	}
  
  	id, err := toBytes(key, n.codec)
  	if err != nil {
  		return err
  	}
  
  	return n.readTx(func(tx *bolt.Tx) error {
  		raw, err := n.getBytes(tx, bucketName, id)
  		if err != nil {
  			return err
  		}
  
  		return n.codec.Unmarshal(raw, to)
  	})
  }
docs: // Get a value from a bucket