This is @kerrigore‘s fault. I spent two hours of my life on this...