Jim R

Results 3 issues of Jim R

Use go generics as introduced in go 1.18. See the 1.18 generics announcement [here](https://go.dev/blog/go1.18beta1).

For unreliable connections, it's useful to be able to tell at a glance that a connection is down or not. This PR colors the output red when there's an error...