  Non-idempotent intersection types provide quantitative information about
typed programs, and have been used to obtain time and space complexity
measures. Intersection type systems characterize termination, so restrictions
need to be made in order to make typability decidable. One such restriction
consists in using a notion of finite rank for the idempotent intersection
types. In this work, we define a new notion of rank for the non-idempotent
intersection types. We then define a novel type system and a type inference
algorithm for the lambda-calculus, using the new notion of rank 2. In the
second part of this work, we extend the type system and the type inference
algorithm to use the quantitative properties of the non-idempotent intersection
types to infer quantitative information related to resource usage.
