Variable Parser

Parser: {
    enclose: (<E>(prefix: Rule<E, unknown>, suffix: Rule<E, unknown>) => (<R>(rule: Rule<E, R>) => Rule<E, R>));
    end: Rule<unknown, undefined>;
}