IE does NOT support createDocument.
Here's my shot at it: https://gist.github.com/4274369 . Haven't hooked into your createDocumentType though.
This project is kind of abandoned.
It actually turns out that shimming is bad idea
You mean partial shimming which can lead to unexpected usage or shimming big and bad complex systems like the entire DOM and causing performance problems?
It's easier and better to wrap things.
I also stopped caring about support IE8
I can see how it is easier to wrap, but not sure how better (unless say trying to avoid standards bodies/browsers arbitrarily DROPPING features which unfortunately is still happening on occasion today). I think it is quite compelling to write code which leverages developers' knowledge (or teaches them standard vocabulary) without adding more steps to trace through code. One thing I didn't like with shims is that there had not been a good potentially universal way to define dependencies on them from within modules such that one could avoid loading/including the shim files except when needed (and non-redundantly). I am hopeful that https://github.com/brettz9/shim/ could offer a way (nevermind the heavy top level directory--i need to clean that up--only require.js and shim.js or shims.js is needed).