Achieving (As Much) Type Safety (As Possible) with Algebraic Sum Types in Go | Heykuki News