code: func PrintDisassembled(code string) error {
  	script, err := hex.DecodeString(code)
  	if err != nil {
  		return err
  	}
  
  	it := NewInstructionIterator(script)
  	for it.Next() {
  		if it.Arg() != nil && 0 < len(it.Arg()) {
  			fmt.Printf("%05x: %v 0x%x\n", it.PC(), it.Op(), it.Arg())
  		} else {
  			fmt.Printf("%05x: %v\n", it.PC(), it.Op())
  		}
  	}
  	return it.Error()
  }
docs: // Pretty-print all disassembled EVM instructions to stdout.