pub(crate) fn is_blank(line: &str) -> bool { line.chars().all(char::is_whitespace) }
#[inline(always)]
pub(crate) fn index_x(position: usize, width: usize) -> usize { position % width }
#[inline(always)]
pub(crate) fn index_y(position: usize, width: usize) -> usize { position / width }
#[inline(always)]
pub(crate) fn checked_index_1d(x: usize, y: usize, width: usize) -> Option<usize> {
y.checked_mul(width)?.checked_add(x)
}
#[inline(always)]
pub(crate) fn saturating_index_1d(x: usize, y: usize, width: usize) -> usize {
y.saturating_mul(width).saturating_add(x)
}