Need to find a way to represent a collection of IDs in Go, all representable in different ways, with each one having a different type. Kinda wish Go had algebraic data type like Elm or Haskell, or even just enums with associated data like Java or Swift. Would be so useful for this.