fwd_null(auto x, () null, (&auto) ok);
fwd_copy(auto x, (auto, auto) ok);
fwd_println(auto x);
fwd_intalloc((*int) ok);

main()
{
	fwd_intalloc() => *int i;
	fwd_copy(i) => *int i1, *int i2;

	/* convert raw pointer to reference, unsure if this should be a
	 * built-in or a library feature */
	fwd_null(i1) => {
		fwd_println("Pointer was null");
		/* error out or something */
	} => &int i;

	fwd_println(i);

	/* Try uncommenting, deref of raw pointer is not allowed! */
	// i* + 20 => int something;
}