Re. 139 - agree.
Other comment - don't: if we have `ocn` we check `oc`, but if we don't - it will be just enough to check `oc`.
This `if` covers both cases: take a look at this like `if (ocn && !oc)`