I'm trying to set a
transition: overflow 0 2s;
There are many properties that can't be transitioned.
overflow is among them; the render engine has no idea how to transition between "hidden" and "shown", because those are binary options, not intervals. This is the same reason why you can't transition between
display: none; and
display: block; (for example): there are no in-between phases to use as transitions.
You can see a list of properties you can animate here on Mozilla Developer Network.