Derivation of Polymorphic Types for PROLOG Programs