First, be more explicit when we mean a range of values in a field or a spacial bounds. Use the Range and Bounds structs in Field and CoordinateSystem to make all of this more clear (and reduce a bit of code as well).
This is a simple struct that defines min and max values over X, Y, and Z to define an axis-aligned bounding box.