will this recursively release the lock as the recursive calls complete? And does that matter? seems to me this should more logically be an `else` block over a `finally`