could be simplified to:
```ruby
result = catch(SUSPENDED) do
  world.middleware.execute(:run, self, *Array(args)) { |*new_args| run(*new_args) }
end
```