golang package review swap