#![no_std]
#[macro_use]
extern crate alloc;
mod generator;
mod keyword;
mod punct;
mod flexible;
use core::hint::assert_unchecked;
use alloc::string::String;
pub use generator::Generator;
pub use keyword::Keyword;
pub use punct::Punct;
use flexible::{Flexible, FlexibleList};
fn repeat_char(c: char, n: usize) -> String {
unsafe { assert_unchecked((c as u32) < 128) };
c.encode_utf8(&mut [0; 4]).repeat(n)
}