compute_letin_type context te,
List.map (fun x -> compute_letin_type context x) pl)
| C.Fix (fno,fl) ->
+ let fl =
+ List.map
+ (function (name,recno,ty,bo) ->
+ name,recno,compute_letin_type context ty, bo) fl in
let tys,_ =
List.fold_left
(fun (types,len) (n,_,ty,_) ->
C.Fix (fno,
List.map
(fun (name,recno,ty,bo) ->
- name, recno,
- compute_letin_type context ty,
- compute_letin_type (tys @ context) bo
+ name, recno, ty, compute_letin_type (tys @ context) bo
) fl)
| C.CoFix (fno,fl) ->
+ let fl =
+ List.map
+ (function (name,ty,bo) ->
+ name, compute_letin_type context ty, bo) fl in
let tys,_ =
List.fold_left
(fun (types,len) (n,ty,_) ->
C.CoFix (fno,
List.map
(fun (name,ty,bo) ->
- name,
- compute_letin_type context ty,
- compute_letin_type (tys @ context) bo
+ name, ty, compute_letin_type (tys @ context) bo
) fl)
;;