:- module test_nested.
:- interface.

:- type foo.

:- implementation.
:- use_module parent.
:- use_module parent.public_child.
:- use_module parent.private_child.
:- use_module parent.undeclared_child.
% :- use_module parent.nonexistent_child.

:- use_module parent2.child.

:- type foo --->
	foo(
		parent.public_child.foo,
		parent.private_child.foo,
		parent.undeclared_child.foo,
		parent.nonexistent_child.foo,
		parent2.child.foo
	).

