pub fn parse_map<'a, V, E>(
    s: &'a str,
    is_value_type_map: bool,
    gen_elem: impl FnMut(Cow<'a, str>) -> Result<V, E>
) -> Result<BTreeMap<String, V>, ParseError> where
    E: Display