Compile take functions for uint dtypes
Not sure why this wasn't compiled before, maybe because of wheel size? We should at least compile the exact matching, not averse to skipping the cross product with different itemsizes
Seems fine. Are these actually called? Those are more or less user facing, we end up calling them if users have uint dtypes (that's how we found this in Dask)

good to merge @WillAyd? Yep merge away thx For all dtypes of the same itemsize, is it possible to e.g. view them as an int8/16/32/64, and just have one kernel that does int->int take, or is this undefined behavior? Would still require a copy and this is a path that is very heavily used.