Expression.Comprehension
module Block: { ... };
type t('M, 'T) = {
blocks: list(Block.t('M, 'T)),
filter: option(Expression.t('M, 'T)),
};