\small\begin{verbatim}
CREATE TYPE Member_Type AS OBJECT
 (Country VARCHAR2(4),
  Type VARCHAR2(30));
/
CREATE TYPE Member_List_Type AS
 TABLE OF Member_Type;
/
\end{verbatim}
\begin{sql}
CREATE OR REPLACE TYPE Organization\_Type AS OBJECT \\
\>(\>Name VARCHAR2(80), \\
\>\>  Abbrev VARCHAR2(12), \\
\>\>  Members {\magenta Member\_List\_Type}, \\
\>\>  Established DATE, \\
\>\>  hasHqIn {\blue REF CityORType}, \\
\>\>  MEMBER FUNCTION isMember (the\_country IN VARCHAR2) \\
\>\> -\/- {\magenta EU.isMember('SLO') = 'membership applicant'} \\
\>\>\> RETURN VARCHAR2, \\
\>\>  MEMBER FUNCTION people RETURN NUMBER, \\
\>\>  MEMBER FUNCTION numberOfMembers RETURN NUMBER, \\
\>\>  MEMBER PROCEDURE addMember  \\
\>\>\>   (the\_country IN VARCHAR2, the\_type IN VARCHAR2)); \\
/
\end{sql}
