This paper gives an overview of intersection type assignment for the Lambda Calculus, as well as compare in detail variants that have been defined in the past. It presents the essential intersection type assignment system, that will prove to be as powerful as the well-known BCD-system. It is essential in the following sense: it is an almost syntax directed system that satisfies all major properties of the BCD-system, and the types used are the representatives of equivalence classes of types in the BCD-system. The set of typeable terms can be characterized in the same way, the system is complete with respect to the simple type semantics, and it has the principal type property. Appeared as: @Article {Bakel-TCS'95, Author = "S. van Bakel", Title = "{I}ntersection {T}ype {A}ssignment {S}ystems", Journal = "Theoretical Computer Science", Volume = "151", Number = "2", Year = "1995", Pages = "385-435" }