A powerful minibuffer query function