Fix merlint parameter counting for functions returning tuples
core_type_to_string didn't wrap arrow types in parentheses when they
appeared inside tuples, so (unit -> unit) * (unit -> unit) rendered as
unit -> unit * unit -> unit. count_args then counted those bare arrows
as top-level parameters (6 instead of 4).