A procedural type is stored as a generic pointer, which stores the address of the routine.
A procedural type to a normal procedure or function is stored as a generic pointer, which stores the address of the entry point of the routine.
In the case of a method procedural type, the storage consists of two pointers, the first being a pointer to the entry point of the method, and the second one being a pointer to self (the object instance).