That seems backwards from the way OO inheritance is supposed to work.  
You don't go from a more feature-rich case to a less feature-rich case 
-- it's the other way around.
    

Of course it is -- that is precisely why inheritance is the wrong
formalism for my problem!  What I need is a "reverse inheritance"
formalism, where a fully defined data structure sits at the root,
and whose descendants are PRUNED versions of the parent.
  
Mind showing me, formally, why you need "reverse inheritance"?

Conceptually, you just need to fix your choice of names.  Let me cite the second paragraph of the e-mail you're responding to (which you neglected in your response):

>  If you s/blurb/header/g or s/blurb/summary/g, then a Full story arguably is-a blurb with a body tacked on.

If you think that a full story as a story with a summary/header, and also a body, then you're conceptually into inheritance.

>From a formal standpoint, you're saying that all full stories can be treated as headers/summaries/"blurbs", but not all headers/summary/"blurbs" can be treated as full stories.  This is equivalent to saying that full stories are a subtype of header/summaries/"blurbs".

You are right smack dab onto the problem space that inheritance is designed to solve.

~~ Robert.