Looks good. I'm on the fence about whether declaration or definition is better - but as you say, definition is somewhat more expressive/useful for some possible consumer scenarios. http://reviews.llvm.org/D5381