Since the public API will use it to fill out GErrors, it needs to be publicly available.
Constraints can be expressed with a compact syntax, called VFL (visual format language).