| None -> []
| Some (main, types) ->
(* the type of eq is not counted in constants_no *)
- let constants_no = StringSet.cardinal constants in
+ let types_no = List.length types in
+ let constants_no = StringSet.cardinal constants + types_no in
if (constants_no > critical_value) then
let prefixes = prefixes just_factor t in
(match prefixes with
to apply the only constraints *)
let prefixes =
if constants_no = 0 then
- Some main, [0, []; List.length types, types]
+ Some main, [0, []; types_no, types]
else
prefixes constants_no t
in