data LengthMatch : SnocList a -> SnocList b -> TypeLinMatch : LengthMatch [<] [<]SnocMatch : LengthMatch xs ys -> LengthMatch (xs :< x) (ys :< y)checkLengthMatch : (xs : SnocList a) -> (ys : SnocList b) -> Maybe (LengthMatch xs ys)lengthsMatch : LengthMatch xs ys -> length xs = length ysreverseOnto : LengthMatch sx sy -> LengthMatch sx' sy' -> LengthMatch (reverseOnto sx sx') (reverseOnto sy sy')reverse : LengthMatch sx sy -> LengthMatch (reverse sx) (reverse sy)