>>> case ['a','b','c'] of (x :< _) -> x 'a'
>>> (3:>4:>5:>Nil) :< 1 3 :> 4 :> 5 :> 1 :> Nil >>> let x = (3:>4:>5:>Nil) :< 1 >>> :t x x :: Num a => Vec 4 aCan be used as a pattern:
>>> let f (_ :< y :< x) = y + x >>> :t f f :: Num a => Vec ((n + 1) + 1) a -> a >>> f (3:>4:>5:>6:>7:>Nil) 13Also in conjunctions with (:>):
>>> let g (a :> b :> (_ :< y :< x)) = a + b + x + y >>> :t g g :: Num a => Vec ((((n + 1) + 1) + 1) + 1) a -> a >>> g (1:>2:>3:>4:>5:>Nil) 12
>>> case ['a','b','c'] of (x :< _) -> x 'a'
>>> (x:<xs) = array [4] [0..3] >>> x UnsafeArray [] [0] >>> xs UnsafeArray [3] [1,2,3] >>> (x:<xs) UnsafeArray [4] [0,1,2,3]
>>> (x:<xs) = array @'[4] [0..3] >>> toDynamic x UnsafeArray [] [0] >>> toDynamic xs UnsafeArray [3] [1,2,3] >>> toDynamic (x:<xs) UnsafeArray [4] [0,1,2,3]