fn parse_array_inner<'a, T, E>(
    s: &'a str,
    make_null: impl FnMut() -> T,
    gen_elem: impl FnMut(Cow<'a, str>) -> Result<T, E>
) -> Result<(Vec<T>, Vec<ArrayDimension>), ArrayParsingError>where
    E: ToString,