pub fn to_per_visible(
    constraints: Vec<Constraint>,
    character_string_type: Option<CharacterStringType>,
) -> Result<(PerVisibleRangeConstraints, Option<PerVisibleAlphabetConstraints>), GrammarError>