Type Alias Type

Type:
    | { kind: "plain"; raw?: xir.Type; text: string }
    | { element: xir.Type; kind: "array"; length: number | null }
    | { kind: "ref"; restricted?: boolean; to: xir.Type }
    | { args: xir.Type[]; kind: "function"; returns: xir.Type }
    | { inner: xir.Type; kind: "qual"; qualifier: TypeQualifier }
    | { inner: xir.Type; kind: "namespaced"; namespace: string }