rewrite of the signal macro to get rid of the type checker workaround, hopefully this will solve some problems with using the macro like this one: https://github.com/guidosalva/examples/pull/4/files#r11724000
some improvement for the warnings that are issued by the signal macro (this should inform the user about code that could be problematic in signal expressions) and support for warning suppression using the @unchecked annotation on an expression
added additional macro unit test cases