MODULE Animals; TYPE Animal = POINTER TO AnimalDesc; AnimalDesc = RECORD END; Cat = POINTER TO CatDesc; CatDesc = RECORD (AnimalDesc) END; Dog = POINTER TO DogDesc; DogDesc = RECORD (AnimalDesc) END; Lab = POINTER TO LabDesc; LabDesc = RECORD (DogDesc) END; Collie = POINTER TO CollieDesc; CollieDesc = RECORD (DogDesc) END; END Animals.