* bitcast treats all pointers as pointers * correctly unwrapping error unions with pointers * equality operators for primitive optional types