Make sparse handling optional
Proper processing of sparse arrays
Do not assume sparse arrays in base