Is getFeedbackThunk pure?  
function setWinTitle(msg) {
    window.document.title = msg;
}
function getFeedbackThunk(msg) {
    return () => setWinTitle(msg);
}
voteButton.onclick = getFeedbackThunk('Thanks for voting!');
It doesn't interact with external state, and the output is always determined by the inputs. What's confusing is that the purpose of the output is to cause an effect, but I think we can say that the function itself is pure.