time_tがひとつのレジスタに収まらないので落とし穴があるというのはありえる(16ビットマイコン上のlongでも起きる)
「Cの規格として、time_tはreal typeであると定義される。Cでのreal typeは、整数型と浮動小数点型の総称である」 https://cpprefjp.github.io/reference/ctime/time_t.html というやつ
カグヤさん(アイコンのうちのひと)
「文字列は定数時間で文字単位のランダムアクセスができて、結合にかかる時間が長さに依存しなくて、空間のオーバーヘッドは定数で、よく使う文字だとコンパクトな表現を取るような実装でよろしく!」
あとは str / String は UTF-8 文字列だけど、プラットフォームネイティブな文字列の OsStr / OsString とか NUL-terminated な CStr / CString とかもある (これも直接使うことはそうそうない)
&str: 借用された文字列
String: 所有されていて可変長の文字列
Box<str>: 所有されていて固定長の文字列
Cow<'_, str>: 借用されているかもしれないし所有されているかもしれない可変長文字列
Rc<str>: スレッドを跨がず所有権が共有されている固定長の文字列
Arc<str>: スレッドを跨いで所有権が共有されている固定長の文字列
Skebで描かせていただきましたー