Why does reading a `weak var` reference incur more runtime cost than reading a `strong` reference, beyond a simple pointer load?weak var ref: Widget? let x = ref // what happens here?