pub fn parse_sites<'a, E>(
    site_depths_and_types: Vec<SiteDepthAndType>
) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Vec<Site>, E>where
    E: ParseError<&'a [u8]> + ContextError<&'a [u8]>,