I believe that 1 == true as much as the next nerd, but still, this line: declare(strict_types=1) is that not a bit ironic?
Yes, and as the person who came up with that, I was well aware of the irony. It was originally this: declare(strict_typehints=TRUE); However, I changed it to the form that you see there because it was shorter. I felt that in the grand scheme of things it's not very important: declare() isn't a function, it's a language construct, and saving 5 chars from something that'll be typed very frequently is probably worth it.
declare(types=strict);
instead. That way other options can be added in the future.