Minimalist exception hierarchy generator