code: func byteSlicify(bytelike interface{}) ([]byte, error) {
  	switch b := bytelike.(type) {
  	case byte:
  		return []byte{b}, nil
  	case asm.OpCode:
  		return []byte{byte(b)}, nil
  	case int:
  		if int(byte(b)) != b {
  			return nil, fmt.Errorf("the int %v does not fit inside a byte", b)
  		}
  		return []byte{byte(b)}, nil
  	case int64:
  		if int64(byte(b)) != b {
  			return nil, fmt.Errorf("the int64 %v does not fit inside a byte", b)
  		}
  		return []byte{byte(b)}, nil
  	case uint64:
  		if uint64(byte(b)) != b {
  			return nil, fmt.Errorf("the uint64 %v does not fit inside a byte", b)
  		}
  		return []byte{byte(b)}, nil
  	case string:
  		return []byte(b), nil
  	case ByteSlicable:
  		return b.Bytes(), nil
  	case []byte:
  		return b, nil
  	default:
  		return nil, fmt.Errorf("could not convert %s to a byte or sequence of bytes", bytelike)
  	}
  }
docs: // Convert anything byte or byte slice like to a byte slice