Queue.step: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/containers/queue.bend as Queue Lines 66-77 of bend-collections@1.0.0.0/src/containers/queue.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&start_line=66&end_line=77 import Base import bend-collections@1.0.0.0/src/containers/types/queue.bend as E def step(~T: Data, q: Queue, op: E.Op) -> Queue & E.Obs: match op: case E.Length{}: obs_nat(~T, length(~T, q)) case E.Enqueue{+x}: (enqueue(~T, q, x), E.OUnit{}) case E.Dequeue{}: obs_item(~T, dequeue(~T, q)) case E.Peek{}: obs_item(~T, peek(~T, q)) case E.ToList{}: obs_list(~T, to_list(~T, q)) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=Queue https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=dequeue https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=enqueue https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=length https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=obs_item https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=obs_list https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=obs_nat https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=peek https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/queue.bend&name=to_list https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/queue.bend&name=Obs https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/queue.bend&name=Op