> While I also don't like Go's error handling approach I thought Go compiler gives an error if a variable is unused, in this case `err`. Is this not the case?
This isn't foolproof. If you're calling multiple methods and reusing `err` it won't give an error because it's technically not unused.