I want to end/exit/destroy a sporked shred.

In this example code, I attempt to exit a sporked function. When executed, the shred doesn't stop as I'd expect.

fun void foo(){
    1::week => now;
}
spork ~ foo() @=> Shred shred;
2::second => now;
shred.exit();
1::week => now;

How can I exit the sporked shred?