I wrote this earlier today:
```
def cross_connect(m, left, right):
    assert 'input' in left.signature.members
    assert 'output' in left.signature.members
    assert 'input' in right.signature.members
    assert 'output' in right.signature.members

    connect(m, left.input, right.output)
    connect(m, left.output, right.input)
```