I am reading through through a paper called HMF: Simple Type Inference for First-Class Polymorphism by Daan Leijen of Microsoft Research.
In the paper it describes how to calculate the polymorphic weight of an expression:
I am having trouble understanding why the above example
[[forall a. [forall b. a -> b]]] has a weight of 1 rather than two. there are two type abstractions where both type variable are not free in their bodies, should these not be added together?