#366 changes how py-objects are stored to pickle them first, instead of storing them as references. We could follow up with a few more items to extend the support:
- Don't copy byte string in rust, just hold a view
- Allow setting custom pickler subclass. This would also let you re-implement something like we had before where objects are stored by reference
- Support buffers when pickling for zero copy ndarrays