in reply to Style question on conditional return statements:

I'd leave out the return entirely. Not necessary.

Of the three, #1 is bad style. Which of the other two you use depends on whether is_writable returns anything else you might want to pass through, e.g. "level of writability" or something, vs. wanting to ensure that the return value is a pure boolean regardless of what is_writable actually returns.

We're building the house of the future together.