A different approach to atVertices.

Don't extract list of pairs (Coord, a), instead fmap to
something drawable, then translate those and leave the
mconcat to others.
Clean up and unify grid shading.