diff options
Diffstat (limited to 'src/mono_util.sml')
-rw-r--r-- | src/mono_util.sml | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mono_util.sml b/src/mono_util.sml index 8decf033..bbfd5842 100644 --- a/src/mono_util.sml +++ b/src/mono_util.sml @@ -114,10 +114,12 @@ fun mapfoldB {typ = fc, exp = fe, bind} = (EAbs (x, dom', ran', e'), loc)))) | ERecord xes => - S.map2 (ListUtil.mapfold (fn (x, e) => - S.map2 (mfe ctx e, + S.map2 (ListUtil.mapfold (fn (x, e, t) => + S.bind2 (mfe ctx e, fn e' => - (x, e'))) + S.map2 (mft t, + fn t' => + (x, e', t')))) xes, fn xes' => (ERecord xes', loc)) |