In Promise§

See primary documentation in context for method keep

multi method keep(Promise:D: \result = True)

Keeps a promise, optionally setting the result. If no result is passed, the result will be True.

Throws an exception of type X::Promise::Vowed if a vow has already been taken. See method vow for more information.

my $p = Promise.new;

if Bool.pick {
    $p.keep;
}
else {
     $p.break;
}