For #10 add data._cache with IC-word values.
For #10 make start on J(a,b) in data._cache.
For #10 add and use data.j_twiddle, to get J entries symmetric.
For #10 get 'J(C,IC)' etc working - but tidy and testing needed.