linear_set: don't keep two identical LinearSets in memory
sparse_vec: minor improvements
semilinear_set: new (more efficient) representation