int ?=?( int *, int );
forall(dtype DT) DT * ?=?( DT **, DT * );

void a() {
	forall( otype T ) void f( T );
	void g( forall( otype U ) void p( U ) );
	g( f );
}

void g() {
	void h( int *null );
	forall( otype T ) T id( T );
	forall( dtype T ) T *0;
	int 0;
	h( id( id( id( 0 ) ) ) );
}

// Local Variables: //
// tab-width: 4 //
// End: //
