Book: Hexagonal Architecture in Go
Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go
My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools
Me: xgabriel.com | GitHub
You wrote a generic. You picked a type parameter T . You
wrote [T any] because the linter stopped complaining and the
function compiled. Then you boxed a value into any halfway
down the body to keep a helper "flexible." Then you returned
any from a method on a generic struct so callers could
"decide later." The signature has square brackets. The body
still ferries interface{} around like it's 2021.
This is the second wave of any in Go codebases. The first
wave was containers and helpers from before generics existed.
That one is a known refactor: sweep through, add a type
parameter, delete the type assertions. The second wave is more
embarrassing because it appears in code that was written
after generics shipped.…