IntrusiveList.search_loop: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/containers/internal/intrusive_list.bend as IntrusiveList Lines 198-204 of bend-collections@1.0.0.0/src/containers/internal/intrusive_list.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/containers/internal/intrusive_list.bend&start_line=198&end_line=204 import Base import bend-collections@1.0.0.0/src/containers/types/intrusive_doubly_linked_list.bend as E def search_loop(~S: Type, ~N: Data, ~V: Data, ~C: Data, ~next: S -> N -> S & Maybe<&2, N>, ~value: S -> N -> S & V, ~pred: S -> C -> V -> S & Bool, +fuel: Nat, +c: C, r: S & E.Search) -> S & Result<&2, &1, E.Error, Maybe<&2, N>>: match fuel r: case _ Tuple{s, E.Found{node}}: (s, Done{Some{node}}) case _ Tuple{s, E.Seeking{None{}}}: (s, Done{None{}}) case 0n Tuple{s, E.Seeking{Some{node}}}: (s, Fail{E.LimitExceeded{}}) case 1n+p Tuple{s, E.Seeking{Some{node}}}: search_loop(~S, ~N, ~V, ~C, ~next, ~value, ~pred, p, c, search_step(~S, ~N, ~V, ~C, ~next, ~value, ~pred, s, node, c)) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result 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/internal/intrusive_list.bend&name=search_step https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/intrusive_doubly_linked_list.bend&name=Error https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/intrusive_doubly_linked_list.bend&name=Search