[FIX] Bug where block variable reset to nil in def

If a block variable was reassigned somehwere in the def body, a bug
existed where that block variable would be set to nil with the other
local variables. This meant that the block would always be set to nil
before any def code was actually run. This commit fixes that.