Type.Predicate
type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
kind: kind('M, 'T),
comments: option(Syntax.t('M, unit)),
};
and kind('M, 'T) =
| Declared(Expression.t('M, 'T))
| Inferred
;