// trait declaration

trait has_q( otype T ) {
	T q( T );
};

forall( otype z | has_q( z ) ) void f() {
	trait has_r( otype T, otype U ) {
		T r( T, T (T,U) );
	};

	extern otype x, y | has_r( x, y );
}

//Dummy main
int main(int argc, char const *argv[])
{
	return 0;
}
