A classic article that makes me wish Go had a proper type system