Definition:
    | Ast & {
        definition?: Definition;
    }
    | string
    | number
    | undefined

These are all ways to describe a constraint.