I tried that the first time around but the interface was too awkward to work with; from the few things I've done with them it's much simpler this way.
The other option is to just drop the wrapper class and resign ourselves to a pair of
```
static void HitSet::Params::encode_params(HitSet::Params *p, bufferlist& bl);
static HitSet::Params *HitSet::Params::decode_params(bufferlist::iterator& bl);
```
functions