I've got some commits on top of this PR on the mesh-sampling-type bookmark in my fork that I think fix the tests.
After looking over this code in detail, I have a small bikesheddy issue. Right now I think 'mesh' and 'cell' might be confusing to people, since cells generally live in meshes. What if instead of 'mesh' we had 'element'? I think 'element' more closely maps to finite elements in my mind, which might help avoid confusion in the future.