I believe I have misunderstood how this library works, and I agree with what you're saying.
At first glance I thought that rerender(args.element) referred to the element that the method containing rerender(args.element).
Hence, I thought that if you altered global state in a component and called rerender(args.element) it would only rerender a single element and it's children rather than the entire component.
Looking at the code more closely I see that args.element actually refers to the component, so the rerender function does do a full rerender.