code: func (a ArrayVal) ToSlice() []interface{} {
  	arr := make([]interface{}, len(a))
  	for i, elem := range a {
  		switch actual := elem.(type) {
  		case ArrayVal:
  			arr[i] = actual.ToSlice()
  		case HashVal:
  			arr[i] = actual.ToMap()
  		default:
  			arr[i] = actual
  		}
  	}
  	return arr
  }
docs: // ToSlice converts an ArrayVal to a slice.