fn foo[T](val T) ?T {
	return val
}

struct Bar {
	num int
}

fn test_generics_with_reference_generic_args() {
	ret := foo[&Bar](&Bar{ num: 123 }) or { panic(err) }
	println(ret)
	assert ret.num == 123
}
