I enjoyed reading and reasoning about this test, nicely done.

I figured it could also be done by multicasting a signal with artificially slow subscription, and then call `-connect` on it twice. The second `-connect` will be `nil` before the fix. This appears to work:

```objc
RACMulticastConnection *connection = [[RACSignal
	defer:^ id {
		[NSThread sleepForTimeInterval:0.1];
		return nil;
	}]
	publish];

__block RACDisposable *disposable;
[RACScheduler.scheduler schedule:^{
	disposable = [connection connect];
}];

expect([connection connect]).notTo.beNil();
expect(disposable).willNot.beNil();
```