Endpoints can have multiple input connections but only one output

I think we should know about `flipDirection` being given something that wasn't a connection instead of failing silently.