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?

What is the problem? The code you provide is anyway not correct. You need to have \stuffin the body of the macro if you want to refer to the argument and not to a literal string “stuff”.