Debouncing is a common requirement when it comes to features like autocomplete search, input validation, or performing expensive functions during scrolling. Elm doesn’t have a built-in way to debounce a function, so let’s write our own.