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");