package body Things is function "=" (A, B : in Thing) return Boolean is begin return A.Self_Image = B.Self_Image; end "="; procedure Draw (This : in Thing; X, Y : in Integer) is begin if This.Self_Image /= null then This.Self_Image.Draw (X, Y); end if; end Draw; end Things;