add SparseVector marshalling support