The Go programming language’s main claim to fame is it is developed by Unix god’s Pike and Thompson. Go is an attempt to be a better system’s language than C. However, the type syntax is just weird enough to be off-putting. Pike explains why in this post. IMHO, any statically typed language developed in the 21st century should have type inferencing. Then you wouldn’t need to worry so much about cluttering your code with unreadable type syntax because there would be so little of it. The solution is to go back to OCaml and rewrite the runtime to support multi-processing . Unfortunately, the cheese-eating surrender monkeys in charge of OCaml refuse to ever add multi-processing support, so someone else will have to do it. How hard could it be? They added it to Haskell, which has a much more sophisticated runtime. Anyway, Go needs type inferencing. Someone please get on that.