macro printer { my $expr = shift; return c{ sub { my $x = shift; my $y = shift; print $$expr; } } }