1 import Base 2 3 # Neutral datatypes shared by src/deque.bend and spec/deque.bend. 4 5 type Error is Data: 6 EmptyDeque{} 7 8 type Op<-T: Data> is Data: 9 Length{} 10 PushFront{value: T} 11 PushBack{value: T} 12 PopFront{} 13 PopBack{} 14 PeekFront{} 15 PeekBack{} 16 ToList{} 17 18 type Obs<-T: Data> is Data: 19 ONat{value: Nat} 20 OItem{result: Result<&2, &2, Error, T>} 21 OUnit{} 22 OList{items: List<&2, T>}