Traits are a way to extend the functionality of a module.
~>
to make a “bridging” connection over a module.
For example:
input
and output
respectively, but you can use any name of any interface you want.
It is even possible to bridge with different interface types, as long as they match the interface type in the other side of the connection.