Why
let f1 a b = a + b
and
let f2 a = fun b -> a + b
both produce values with type a:int -> b:in
a:int -> b:in