[WIP] Signal<T> tests

But it turns out that types prevent a lot of errors that tests would normally catch! Who knew?
Nice, appears to work. :+1: