Changing the way we handle theme() calls is great, but what about the data we're passing them? Currently it's a mish-mash of various numbers of arguments, data types, etc. Here's another place the Forms API shines. We pass a well defined, structured data set. Clean separation of content and presentation. While we're making changes, we could consider a full move to a Forms API approach for all data passed to theming. Likely doing so would greatly simplify the theming system. * 'node', 'block', etc. element types * generate the whole page as a nested array data structure and then pass once to theming (Then if someone wants e.g. to use XSLT to generate a full SVG environment, easy. Serialize the data array as XML, pass to the XSL, done.)