Field spaces are sets of fields, and behave similarly to structs in C or Terra.
Field spaces may also be instantiated by casting an anonymous struct to the appropriate type.
Field spaces differ from structs in that they may also take region-typed arguments.
An index space (ispace) is a collection in index points. Regent has two kinds of index spaces: structured and unstructured.
An unstructured ispace is a collection of opaque points, useful for pointer data structures such as graphs, trees, linked lists, and unstructured meshes.
A structured ispace is a (multi-dimensional) rectangle of points.
Regions are the cross-product between an index space and a field space.
Note that you can create multiple regions with the same index space and field space. This is a new region, distinct from structured_lr above.