遅延評価のために、IntやCharみたいな小さい値までポインタ経由で持つこと
でかいレコードの一部のみ更新したいときに全体を再構築せざるを得ないこと
デフォルトの文字列型がCharのリストであること