Гм. С передачей в произвольную очередь понятно. А вот как обратно, неужели придётся делать приведение типов?

## Код:
```
...
NEW(queue,5); 
NEW(data); 
data.id := 1000; 
queue[0] := data; (*туда*)
data := queue[0]; (*обратно компилятор не пропускает, есес-но*)
```
