--- /dev/null
+#!perl
+
+use Test::More tests => 21;
+
+use warnings FATAL => 'all';
+use strict;
+
+use Function::Parameters;
+
+fun mk_counter($i) {
+ fun () { $i++ }
+}
+
+method nop() {}
+fun fnop($x, $y, $z) {
+}
+
+is_deeply [nop], [];
+is_deeply [main->nop], [];
+is_deeply [nop 1], [];
+is scalar(nop), undef;
+is scalar(nop 2), undef;
+
+is_deeply [fnop], [];
+is_deeply [fnop 3, 4], [];
+is scalar(fnop), undef;
+is scalar(fnop 5, 6), undef;
+
+my $f = mk_counter 0;
+my $g = mk_counter 10;
+my $h = mk_counter 50;
+
+is $f->(), 0;
+is $g->(), 10;
+is $h->(), 50;
+is $f->(), 1;
+is $g->(), 11;
+is $h->(), 51;
+is $f->(), 2;
+is $f->(), 3;
+is $f->(), 4;
+is $g->(), 12;
+is $h->(), 52;
+is $g->(), 13;