code: func (s *DBStore) Put(key string, i interface{}) (err error) {
  	var bytes []byte
  	if marshaler, ok := i.(encoding.BinaryMarshaler); ok {
  		if bytes, err = marshaler.MarshalBinary(); err != nil {
  			return err
  		}
  	} else {
  		if bytes, err = json.Marshal(i); err != nil {
  			return err
  		}
  	}
  	return s.db.Put([]byte(key), bytes, nil)
  }
docs: // Put stores an object that implements Binary for a specific key.