public delegate int MyDelegate<G>(owned G? test);

public int test<G>() {
	MyDelegate<G> test_helper = (test) => {
		return 0;
	};
	return test_helper(null);
}

public int test2() {
	MyDelegate<string> main_helper = (test) => {
		return 0;
	};
	return main_helper(null);
}

