Yeah, if I change the two function types in Signal to this:
alias bool delegate(ref Types) slot_t;
alias void delegate(ref Types) void_slot_t;then I can connect functions with ref arguments. But then I'll get exceptions thrown if the functions have non-ref arguments. This seems like a difficult problem to solve. How can you (efficiently) store a dynamic list of function pointers which could have arbitrary storage classes for its parameters? Hmm..
