Can we make these non-optional arguments of the function?  It looks like your current examples all require `with_array` and `with_ex` anyway.

That is, the function should expect the array and extent:  `slice_fn(tile, array, extent, **kw)`.