Why do we need to force cast the `out_value` to `long`? The type of `out_value` is `long*`, right?