fix clang signed/unsigned cmp warnings
remove connect_to() from segment<I,O> interface, logic factored out to free (specialized) friend function
remove superfluous std::move on return