I'd prefer this inverted. Check if it _is_ bidirectional first and pass it directly. That was the default behavior will remain unchanged which is safer.