def Cursor.region.if
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytesimport Base
849# On success, read inside the region, then leave with the returned affine limit.
850def Cursor.region.if(ok: Bool, c: Cursor, +n: U32) -> Cursor & Maybe<&1, CursorLimit>:
851 match ok:
852 case False{}:
853 (c, None{})
854 case True{}:
855 Cursor{b, +pos, start, end} = c
856 +resume = (pos + n : U32)
857 (Cursor{b, pos, pos, resume}, Some{CursorLimit{resume, start, end}})