pub fn generate_from_hir<W: Write, R: Rng>(
    buffer: &mut W,
    hir: &Hir,
    rng: &mut R,
    max_repeat: u32
) -> Result<(), Error>