I’m not comprehending. The built-in “List” composite has two notes – “(header)” and “(item)”. Does your comment mean that if you have “(header)” selected and press return that you get another instance of “(header)” – or would you get another instance of the “List” composite? Or something else?
Maybe you want to consider creating a new prototype of your own that has the same key attributes as the notes that comprise the built-in “List” composite – or other attributes you might find useful. Make that prototype the prototype of the root container of your list, or use an OnAdd action for that container. That way, every child will be assigned that prototype – when you “press return” you’ll get a new note with the attributes you want to use. I think this is the “standard” way of making a list of notes that have the same attributes – at least, over here, I’ve been making lists this way for a very long time. No need to involve composites in this process.
To take that further - prototypes can have a child hierarchy. So a prototype can mimic a composite if that prototype, call it “Header”, comprising a “Header” note and an “Item” note. If you have a container whose OnAdd action is
$Prototype="Header";, then adding a note to that container will add an instance of “Header” and that note will have an “Item” child. If “Item” is also a prototype (with its own set of key attributes different than “Header”'s key attributes), and the OnAdd action for “Header” is
$Prototype="Item";, then for every child of “Header” you create in your list, you get a new instance of “Item”.