I just checked in a patch for DIP2, 305. It was a lot more complex than I'd anticipated, requiring a whole new type constructor. Oh well. But it's an awesome feature.