One of the mandatory ones, in my opinion. It's 3rd or 4th in terms of the linter that catches actual bugs for me before they are bugs, behind the number one errcheck and probably number two "unused", checking for unexported package-level variables that are unused. Go prohibits variables to be unused within a function but the compiler does not check that unexported package-level variables are used; this has helped me find a lot of places where I created a metric for something but never quite followed through to actually triggering it, log messages, bespoke errors, etc.