Subscription to a Supply
class Tap {}
A Tap is a subscription to a Supply.
my $s = Supplier.new;my $tap = $s.Supply.on-close({ say "Tap closed" }).tap( -> $v { say "the value is $v" }, done => { say "Supply is done" }, quit => -> $ex { say "Supply finished with error $ex" },); # later $tap.close;
method close(Tap:D:)
Closes the tap.