I really disliked Go as a language before generics. I was constantly frustrated by the limitations and clunky workarounds; often without code generation what you were trying to accomplish was simply impossible. Go generics are still a little anemic by modern standards but they are such a breath of fresh air.