code: func shiftRun(a *Container) (*Container, bool) {
  	statsHit("shift/Run")
  	carry := false
  	ra := a.runs()
  	ro := make([]interval16, 0, len(ra))
  
  	for _, v := range ra {
  		if v.start+1 == 0 { // final run was 1 bit on container edge
  			carry = true
  			break
  		} else if v.last+1 == 0 { // final run ends on container edge
  			v.start++
  			carry = true
  		} else {
  			v.start++
  			v.last++
  			carry = false
  		}
  		ro = append(ro, v)
  	}
  
  	return NewContainerRun(ro), carry
  }
docs: // shiftRun is a run-specific implementation of shift().