I've always been a bit perplexed by the relatively short lifespan of any given Drupal version, particularly when big changes, such as API modification, always rear their heads. I first began Drupal development back when things were still 4.6 and 4.7 was a whisper in darkened corners of run-down bars. When Drupal 4.7 finally came out I had just gotten a handle on how 4.6's APIs worked, and here I was, having to unlearn what I had learned. Thankfully, it was a quick process, and forms API turned out to be much more of a help than a hindrance.
About a year and a half later, we're on the verge of a stable release of Druapl 6.x, and I'm looking forward to this one much more than I was for 4.7. So, in celebration of that fact, I figured I'd run down a few elements of Drupal 6.x that I'm excited about.
"JavaScript theme functions are entirely free in their return value. It can vary from simple strings, up to complex data types like an object containing in turn several jQuery objects which are wrapped around DOM elements. See the original (default) theme function to see what your custom theme function should return."