CMHGXE7Y2WB5BVYQWGKXKVUGPURGAZVX75HGZ6DDZVUOHAFFKNNAC scan : Ordering -> Fin n -> Maybe $ Fin $ S nscan LT FZ = Nothingscan LT (FS x) = Just $ weaken $ weaken $ xscan EQ x = Just $ weaken xscan GT x = Just $ FS $ x
scan : Ordering -> Nat -> Maybe Natscan LT Z = Nothingscan LT (S x) = Just xscan EQ x = Just $ xscan GT x = Just $ S $ x
scanner : Vect 3 (Fin n) -> Ordering -> Vect 3 $ Fin $ S nscanner [x, y, z] w with (scan w z)_ | Nothing = [FS x, FS x, FZ]_ | (Just v) = [FS x, weaken y, v]
scanner : (Maybe $ Fin n, Nat) -> (Ordering, Fin n) -> (Maybe $ Fin n, Nat)scanner (x, y) (w, z) with (scan w y)_ | Nothing = (Just z, Z)_ | (Just v) = (x, v)