On EVM, narrow integers keep their declared Solidity widths (uint8, …) in
structs and storage. Widened uint256 results from arithmetic / timestamps /
msg::value are narrowed with casts only when the binding requires it.
Still a language type (EVM storage maps it like a wide integer). It is not part of the everyday EVM message/system context — prefer address and msg::sender for access control.