checked invariants: 1. Event.output only for output sequencers and Event.output only for input sequencers unchecked invariants: 2. only send to a receiver, if an according connection exists 3. address may only contain a port that belongs to the associated client 4. synchronize port capabilities and use of ports as sources and destionations in an event 5. for Event.output h ev, the source of ev must be a port of 'h'. Possible solution for 2: Sequencer.connectTo may return a Marshal.Event.Connect value and the Connect data type is used as field of an event. Discourage manual assembling of Connect types. Using Subscribers as destination is not restricted. It is still possible to use a connection, that is already disconnected. We can reduce the risk of doing so by providing a withConnection function.