The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
my $interpreter;
my $scope;
my $void;
my $out_scalar = $scope."lookup"("$OUT");
my $out = $out_scalar."FETCH"();

$void = $out."print"("1..3\n");

my $AdhocSignature_scalar = $scope."lookup"("AdhocSignature");
my $AdhocSignature = $AdhocSignature_scalar."FETCH"();

my $LexicalScope_scalar = $scope."lookup"("LexicalScope");
my $LexicalScope = $LexicalScope_scalar."FETCH"();

my $new_scope = $LexicalScope."new"();
my $outer = $new_scope."outer"();
my $void = $outer."STORE"($scope);


my $signature = $AdhocSignature."new"(:"ACCEPTS"(mold {
    #TODO test
    my $interpreter;
    my $capture;
    my $continuation = $interpreter."continuation"();
    my $back = $continuation."back"();
    my $void;
    $void = $interpreter."goto"($back);
    
}),:"BIND"(mold {
    my $interpreter;
    my $scope;
    my $capture;

    my $out_scalar = $scope."lookup"("$OUT");
    my $out = $out_scalar."FETCH"();

    my $void = $out."print"($capture);

    my $continuation = $interpreter."continuation"();
    my $back = $continuation."back"();
    my $void;

    $void = $interpreter."goto"($back);

}));

my $void = $out."print"("ok 1 # lives after signature creation\n");
my $ret = $signature."BIND"("ok 2 # the correct capture is passed\n",$new_scope);
my $void = $out."print"("ok 3 # continues after BIND\n");