@@ -93,9 +93,9 @@ let std-infer-expr(tctx: Maybe<TypeContext>, term: AST, is-scoped: Bool, used: I
9393 tctx = tctx.ascript(term, type-nil);
9494 for kt in index-fields-of.lookup((dt.first,dt.second,tg), mk-vector(type((CString,Type)))) {
9595 let actx = mk-actx().bind(field-item,mk-var(kt.first));
96- body = substitute(actx,body);
97- (tctx, body) = std-infer-expr(tctx, body, false, Used, ta);
98- term = mk-cons(term, body);
96+ let re- body = substitute(actx,body);
97+ (tctx, re- body) = std-infer-expr(tctx, re- body, false, Used, ta);
98+ term = mk-cons(term, re- body);
9999 tctx = tctx.ascript(term, type-nil);
100100 };
101101 );
@@ -120,9 +120,9 @@ let std-infer-expr(tctx: Maybe<TypeContext>, term: AST, is-scoped: Bool, used: I
120120 # this convention is used to *discard* any tag information that exists in terms like (x as Tag::)
121121 # so effectively this is still a good and perfectly valid tag
122122 let actx = mk-actx().bind(case-item,mk-atype(t0(c"Tag::" + k)));
123- body = substitute(actx,body);
124- (tctx, body) = std-infer-expr(tctx, body, false, Used, ta);
125- term = mk-cons(term, body);
123+ let re- body = substitute(actx,body);
124+ (tctx, re- body) = std-infer-expr(tctx, re- body, false, Used, ta);
125+ term = mk-cons(term, re- body);
126126 tctx = tctx.ascript(term, type-nil);
127127 };
128128 );
0 commit comments