data Path : (t -> t -> Type) -> t -> t -> TypePaths in a typed graph as a sequence of edges with source and target nodes matching up domino-style.
AKA reflexive-transitive closure.
joinPath : Path g i j -> Path g j k -> Path g i ksnocPath : Path g i j -> g j k -> Path g i klengthPath : Path g i j -> NatmapPath : {0 f : t -> u} -> (gt i j -> gu (f i) (f j)) -> Path gt i j -> Path gu (f i) (f j)foldPath : {0 gu : u -> u -> Type} -> {0 f : t -> u} -> (gt i j -> gu (f j) (f k) -> gu (f i) (f k)) -> Path gt i j -> gu (f j) (f k) -> gu (f i) (f k)foldlPath : {0 gu : u -> u -> Type} -> {0 f : t -> u} -> (gu (f i) (f j) -> gt j k -> gu (f i) (f k)) -> gu (f i) (f j) -> Path gt j k -> gu (f i) (f k)