Add MixedSet type
Add unit tests for MixedSet
Add MixedDataSet type
Unit tests for MixedDataSet
Add MixedDat type
Unit tests for MixedDat
Add MixedMap type
Unit tests for MixedMap
Build a sparsity block for each pair of DataSets in the mixed case
Implement Sparsity __getitem__, shape, __iter__
More Sparsity unit tests, mostly for mixed case
Add unit test creating a Mat from a mixed Sparsity
Add unit test building mixed sparsity
Create a PETSc MatNest if Mat is built from mixed sparsity
Refactor host code gen: move itset loop body to separate template
Host code gen: Factor itset loop body into separate function
Give JITModule a mixed shape and call itset_body_loop that many times
Expand mixed maps when passing arguments to par_loop
Reference maps with their mixed block index in generated host code
Correctly figure out mixed shape