(p: Pat)
| 191 | return defaults(0, () => m(others[0], expr, x, env, k)); |
| 192 | } |
| 193 | |
| 194 | function mSeq( |
| 195 | pats: Pat[], |
| 196 | exprs: ReadonlyArray<Expression>, |
| 197 | x: Expression, |
| 198 | env: Env, |
| 199 | k: () => boolean |
| 200 | ): boolean { |
| 201 | if (pats.length === 0) return k(); |
| 202 | return m(pats[0], exprs[0], x, env, () => |
| 203 | mSeq(pats.slice(1), exprs.slice(1), x, env, k) |
| 204 | ); |
| 205 | } |