:< package:clash-prelude

Add an element to the tail of a vector.
>>> (3:>4:>5:>Nil) :< 1
3 :> 4 :> 5 :> 1 :> Nil

>>> let x = (3:>4:>5:>Nil) :< 1

>>> :t x
x :: Num a => Vec 4 a
Can 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)
13
Also 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