I really enjoyed this year, the thing that made it quite interesting for me was the amount of people streaming in all kinds of languages with all kinds of approaches. For me I found it quite a nice learning exercise, though oddly enough ( I was trying to do them as fast as I could ) I often resorted to mega functions and basic data types to solve the problems. This worked out well early in the event, but later it would lead to many simple bugs. I also found that it's nice when your language has a lot of toys to make life easier. I started with Go, as a learning exercise, but swapped to C# as so many problems fit nicely with "Linq", however there were lots of missing niceties, so I spawned a NuGet package with a library of extension methods which I hope to polish now that AoC is over What are your takeaways?