how to make pointer arithmetic safe? ------------------------------------ Alternative 1: use arrays with length constraints instead byte#[strlen(value)]^ p; if (p^#[0] == 0) return; p = @p^#[1]; Alternative 2: use special pointer types, and none values typedef cchar = enum(1..255)?; cchar>^ p; if (not p:next()) return;