I noticed there's an issue with debounce and maxWait. On subsequent calls right after the maxWait, the debounced function is not getting called.
Check this jsfiddle with an open console:
https://jsfiddle.net/9fjt512m/
My output (Chrome on Max OSX) looks like this:
calling debounce
calling debounce
debounced run
calling debounce
calling debounce
I would expect another "debounced run" at the end, but none is happening. Might be related to the #2093 that was merged a month ago.