!str #16066 rename connect to via/to

* add missing implicit conversions for ~>
* cleaned up implicit conversions for ~>
* tests for all combinations when using ~>

Refs #16066
to be honest, that was not a conscious design decision, but I realized when I saw this change that it had that nice little property

yes, it can be removed from methods in next step