def neighbour_result
bend-collections@1.0.0.0 · src/containers/doubly_linked_list.bend:119
import bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend as DoublyLinkedList
import Base
import bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend as R
import bend-collections@1.0.0.0/src/containers/types/internal_dlist.bend as I
import bend-collections@1.0.0.0/src/containers/types/doubly_linked_list.bend as E
119def neighbour_result(~T: Data, tag: U32, depth: Nat, cap: U32, gens: Array<U32>, r: R.DList<T> & Result<&2, &2, I.Error, Maybe<&2, I.Handle>>) -> DList<T> & E.Obs<T>:
120 match r:
121 case Tuple{raw, Fail{e}}:
122 (DL{tag, depth, cap, raw, gens}, E.ONbr{Fail{error(e)}})
123 case Tuple{raw, Done{None{}}}:
124 (DL{tag, depth, cap, raw, gens}, E.ONbr{Done{None{}}})
125 case Tuple{raw, Done{Some{I.H{owner, +id}}}}:
126 neighbour_gen(~T, tag, depth, cap, raw, owner, id, Array.get(U32, gens, id))