def use(middleware, *args, &blk)
      stack.push [middleware, args, blk]
      stack.uniq!
    end
def use(middleware, *args, &blk)
      stack.push [middleware, args, blk]
      stack.uniq!
    end
Append a middleware to the stack.

 @param middleware [Object] a Rack middleware
 @param args [Array] optional arguments to pass to the Rack middleware
 @param blk [Proc] an optional block to pass to the Rack middleware

 @return [Array] the middleware that was added

 @since 0.2.0

 @see Hanami::MiddlewareStack#prepend

 @example
   # apps/web/application.rb
   module Web
     class Application < Hanami::Application
       configure do
         # ...
         use MyRackMiddleware, foo: 'bar'
       end
     end
   end