Simple macro replacing

I’m trying to make a simple macro whose argument goes inside an abstract, along these lines

<assign | mymacro | 
      <macro | stuff | 
           <abstract-data | <abstract | stuff >>  
> >

However, it doesn’t work properly. The argument isn’t replaced inside the abstract.

What’s going on, how could this be made to work?