My point was that complex type systems also have down sides.
Even if you strongly favor algebratic type systems, you have to admit they are harder to learn (at-least initially).
The upside with golang is that it's simple and easy to adopt; tiny learning curve, and code + APIs are intended to be simple.
If you are messing around with complex patterns in golang to get more compile-time correctness checks, you are most likely not keeping it simple. And thus, have missed the most important upside to golang.