-- {{{ Generators -------------------------------------------------------------

-- | Helper function that constructs generator from list of ASCII values.
construct :: FromAscii a => [Word8] -> (a -> t -> t) -> t -> t
construct ws cons = foldl (\ f -> (f .) . cons . fromAscii) id ws
construct :: FromAscii a => [Word8] -> (a -> t -> t) -> t -> t
construct ws cons = foldl (\ f -> (f .) . cons . fromAscii) id ws
construct ws cons = foldl (\ f -> (f .) . cons . fromAscii) id ws