polymorphism to differentiate between different signal data types and how to instantiate them
open question: how to decide whether two signals are compatible... Could just decide by name and trust on widths being identical or somehow check width in case there is one? However checking width should also solved via polymorphism.
Notes: