Doesn't libuv follow the C89 spec? Part of which requires all variables to
be declared at the top of the function.