Clean up HasOne array wrapping logic

Introduce private _wrap_in_array option for now.