Signal<T> tests

But it turns out that types prevent a lot of errors that tests would normally catch! Who knew?
`With` is typically subsumed by the parameter labels.