Normal can be merged with sparse
Sparse can be merged with normal
Removes outdated Ruby code
Supports serialization
Supports conversion to normal