CLNE that remembers an element's ctype has been rejected dozens of times because there were few ideas on how to make it work. I think that CLNE/PCLN/BCLN/PBCN should remember the ctype of the copied element in its tmp value. For example, if you put LAVA(DUST) on a piece of CLNE, the CLNE would become CLNE(LAVA) as usual. The tmp value of the CLNE would also change to 1, since DUST is element #1 in TPT's coding.
Normal CLNE creates a particle with the same type as the CLNE's ctype.
The new CLNE should create a particle wiht the same type as the CLNE's ctype, and the same ctype as the element corresponding with the CLNE's tmp.
I have a really cool idea that will only work if I can do this, but I don't want to say what it is because I'm sure other people would make it before me.