Organize things a bit
Add a mainThreadScheduler singleton
Remove Enumerable and Enumerator

Swift already has built-in types capable of representing these
Restore object wrapper type as Box
Implement replaying to an AsyncSequence
Combine addObserver and removeObserver
Implement flattenMap for funsies