re-impl takeUntil, now passes tests.