Generic extraction from a constructor
In F# and OCaml I wind up writing a lot of code like  
>    type C = Blah of Whatever  
>    let d = Blah (createWhatever ())  // so d is type C  
>    ...  
>    let x = match d with | Blah b -> b

What I'd like is this
>    ...  
>    let x = peel d

Where peel would work for _any_ constructor/discriminator.  
Surely I'm not the only one annoyed by this.
Also, indenting by four spaces to show the code is not working.
Generic extraction from a constructor
===

In F# and OCaml I wind up writing a lot of code like  
>    type C = Blah of Whatever  
>    let d = Blah (createWhatever ())  // so d is type C  
>    ...  
>    let x = match d with | Blah b -> b

What I'd like is this
>    ...  
>    let x = peel d

Where peel would work for _any_ constructor/discriminator.  
Surely I'm not the only one annoyed by this.
Also, indenting by four spaces to show the code is not working.