Deque.step: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/containers/deque.bend as Deque Lines 126-143 of bend-collections@1.0.0.0/src/containers/deque.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&start_line=126&end_line=143 import Base import bend-collections@1.0.0.0/src/containers/types/deque.bend as E def step(~T: Data, d: Deque, op: E.Op) -> Deque & E.Obs: match op: case E.Length{}: obs_nat(~T, length(~T, d)) case E.PushFront{+x}: (push_front(~T, d, x), E.OUnit{}) case E.PushBack{+x}: (push_back(~T, d, x), E.OUnit{}) case E.PopFront{}: obs_item(~T, pop_front(~T, d)) case E.PopBack{}: obs_item(~T, pop_back(~T, d)) case E.PeekFront{}: obs_item(~T, peek_front(~T, d)) case E.PeekBack{}: obs_item(~T, peek_back(~T, d)) case E.ToList{}: obs_list(~T, to_list(~T, d)) Uses (16): 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/deque.bend&name=Deque https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=length https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=obs_item https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=obs_list https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=obs_nat https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=peek_back https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=peek_front https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=pop_back https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=pop_front https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=push_back https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=push_front https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/deque.bend&name=to_list https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/deque.bend&name=Obs https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/deque.bend&name=Op