About 8 years ago, I was writing some app in C#, and the recognised way of doing things was EntityFramework. I duly wrote a bunch of code around EF, only to notice that sometimes it wasn't populating with the data correctly. Digging into the documentation, I found that EF didn't actually do lazy loading properly, and that if you really wanted to be sure that the data was populated, you should call a method to check that the property you wanted had been populated, and if not, call another method to populate it.
I threw Windows in the bin after that. I uninstalled Windows, installed Linux, and started looking around for another language to code in. I found Go. It's total lack of magic, utter transparency and attitude of simplicity made complete sense to me.
<10 years later I'm still happily coding in Go. Thanks guys, this is awesome!
If you want to write pure SQL and pull the results into a struct with interfaces, you could do that in C# also.
Go became the antidote, the "way things should be", and moving from Win/C# to Linux/Go was eye-opening and very healing.
YMMV. I'm totally happy I found Go right then, when I needed it