I just looked at this again, and I can't believe I missed the larger weirdness with the loop.  Rewrite as:

    for val := range tokens {
      fmt.Println(val.GetType(), val)
    }