A nyelv megengedi. Amit a nyelv megenged, azt szabad.
Ez csak akkor lenne igaz, ha a nyelv tökéletes lenne. Ráadásul most, a valóságos nyelvek pedig még akkor sem voltak tökéletesek, amikor kitalálták vagy szabványosították őket, és még csak nem is minden ötlet öregedett szépen. Pl. a Fortran COMMON blockjai vagy EQUIVALENCE-e a maga idejében jó ötlet volt, csak eljárt felette az idő. Az aritmetikai GOTO valószínűleg már akkor sem. Mondjuk szerintem a () ? : vagy a ++ és a -- a C-ben jó ötlet, ma is az, de nem kell mindenütt, feltétlenül használni.
A trükkök, amiket mondasz, akkor jók, ha muszáj úgy megírni (mert különben nem bírná a hardware), de pl. ha az uint8_t-t azért használnám, hogy a túlcsordulással visszaérjen az elejére, akkor azért valahogy úgy írnám meg, hogy
typedef uint8_t SmallPtr;
#define SMALLPTRMAX ...
.
.
SmallPtr k;
.
.
... var[k % SMALLPTRMAX]...
.
.
.
aztán megnézném, hogy a fordító optimalizálta-e a cuccot. Így legalább érteni lehet, hogy visszamegyek az elejére anélkül, hogy nagyon gondolkoznék, évek múlva, álmosan olvasva is. És aztán ha a kódrészletet újra felhasználod más gépen, más hosszúságú számokkal, akkor is menni fog.