pub fn range_from_bounds<R: RangeBounds<usize>>(
    range: R,
    allowed: Range<usize>
) -> Result<Range<usize>, Range<usize>>