Remove most naked returns in the library.

The Go authors have discouraged developers per a blog post from using
naked returns except for absurdly simple cases.  I found when
investigating some non-determinism in the library that the use of naked
returns made it incredibly hard to follow the logic and lifecycle of
the objects used within.  I am providing this commit to assist in
further diagnosis and refactorings.