Add "recurs until" functionality

Based off of `mchen`'s fork, I have wrapped up (I hope) the "recurs until" functionality.