i don't know how to use queue in decueue

i want use dequeue in verse
but decue use ‘decides’ effect
so i use it
but error is not going

image
image

it’s i use code queue

queue(t:type) := class:
Elements:t = array{}

Enqueue<public>(NewElement:t):queue(t)=
    queue(t){Elements := Elements + array{NewElement}}

Dequeue<public>()<decides><transacts>:tuple(queue(t),t)=
    FirstElement := Front[]
    (queue(t){Elements := Elements.RemoveElement[0]}, FirstElement)

Size<public>()<transacts>:int=
    Elements.Length

IsEmpty<public>()<decides><transacts>:void=
    Size() = 0

Front<public>()<decides><transacts>:t=
    Elements[0]

Rear<public>()<decides><transacts>:t=
    Elements[Elements.Length - 1]

dequeue() : void=
    #{Elements.RemoveElement[0]}
    block:

CreateQueue(InitialElements:t where t:type) := queue(t):
Elements := InitialElements

Try it.

if:
    Que.Dequeue[]