code: func (s *stack) OverN(n int32) error {
  	if n < 1 {
  		str := fmt.Sprintf("attempt to perform over on %d stack items",
  			n)
  		return scriptError(ErrInvalidStackOperation, str)
  	}
  
  	// Copy 2n-1th entry to top of the stack.
  	entry := 2*n - 1
  	for ; n > 0; n-- {
  		so, err := s.PeekByteArray(entry)
  		if err != nil {
  			return err
  		}
  		s.PushByteArray(so)
  	}
  
  	return nil
  }
docs: // OverN copies N items N items back to the top of the stack.
  //
  // Stack transformation:
  // OverN(1): [... x1 x2 x3] -> [... x1 x2 x3 x2]
  // OverN(2): [... x1 x2 x3 x4] -> [... x1 x2 x3 x4 x1 x2]