-------------------------------------------------------------------------------

mux :: Typed a => Stream Bool -> Stream a -> Stream a -> Stream a
mux (Const True) t _  = t

mux :: Typed a => Stream Bool -> Stream a -> Stream a -> Stream a
mux (Const True) t _  = t
mux (Const True) t _  = t