It can also be a performance issue since range has to make a copy of whatever was in the slice. Slices of pure structs can be tantalizing for their simplicity but you should be thinking of how you want to range over them first and double check yourself everytime you write:
_, obj := range ...
You're explicitly asking for the two argument convenience which can have a price.