Signal<T> tests

But it turns out that types prevent a lot of errors that tests would normally catch! Who knew?