Using `ref T` heap allocates the data which means if you have a `seq[ref int]` you now have a pointer indirection per each element. So your cache is going to get quite thrashed. Options do use a bool and that can take up more space. A memory efficient way of handling optionals is to use a sentinel value. An [example](https://play.nim-lang.org/#ix=3YBt). Optionals do also heavily encourage you to unpack them versus nilables.
- Nim v2: what would you change? j-james
- Nim v2: what would you change? ingo
- Nim v2: what would you change? snej
- Nim v2: what would you change? Clonk
- Nim v2: what would you change? sken130
- Nim v2: what would you change? Jon
- Nim v2: what would you change? xigoi
- Nim v2: what would you change? Clonk
- Nim v2: what would you change? blashyrk92
- Nim v2: what would you change? planetis
- Nim v2: what would you change? ElegantBeef
- Nim v2: what would you change? awr1
- Nim v2: what would you change? nimoid
- Nim v2: what would you change? severak
- Nim v2: what would you change? shirleyquirk
- Nim v2: what would you change? mrgaturus
- Nim v2: what would you change? Zectbumo
- Nim v2: what would you change? Pyautogui
- Nim v2: what would you change? adrianv
- Nim v2: what would you change? xigoi
- Nim v2: what would you change? PMunch