I have a couple of questions regarding Oracle 9i object features:

1. I have two Object types A and B. If Object Type A needs to Ref type B , and B needs to have REF to A. If I define type A first, it will complain because B has not been defined yet, and vice versa.
Does Oracle support forwarding declaration, ie., like in C++, you can have use an object pointer before the class is defined, as long as the object class is declared before the other class that references it.

2. nested table of nested table:
Everything below works except the last statement:

create or replace type Foo_TY as object (

create or replace type FOO_TAB as table of FOO_TY;
create or replace type BAR_TY as object(
foos FOO_TAB
create or replace type BAR_TAB as table of BAR_TY;

create or replace type FINAL_TY as object
id NUMBER(10),
bars BAR_TAB

create table FINALS of FINAL_TY
) nested table bars store as BARS_NT_TAB,
nested table bars.foos store as FOOLS_NT_TAB;
The last line caused Oracle to complain:
not an object type column

I guess it is saying that bars is not a object type. To me, type TABLE_OF_OBjects is an Object type.

Doe anyone know any workaround on this?