Some thoughts. There is no best practice on how to structure a Go code base. go.dev is still ugly. It is ok in comparison to the old Win95-styled design. That awful closure fib example on go.dev is still a good reason to ignore Go. I would guess most of all devs don't understand it when they read it the first time. Fuzzing in general is an anti-pattern but can be useful.
This is where a significant shift in my programming started: abandoning OOP, removing unnecessary dependencies, moving from Linux to OpenBSD, from k8s to VM, and from clouds to bare metal. Pros: I understand computers better and have more fun. Cons: companies are still at the stage of moving to a cloud. And now I have to wait for trends to catch up.