This is both a feature and a mistake! Because we support both mutable models and persistent models and the persistent models where added later we had to make persistent models follow the same contract as mutable models.
This presents a problem as when you add something to a mutable list it adds it to the end but when you add something to persistent list it adds it to the front.
Now the question is can we change the implementation and not break the semantic contract: I'm not sure but it's defo worth a try.
The root cause is we shouldn't support the same contract on mutable and persistent models as this is the same mistake that the Scala collections guys made.
Long term Model is dead, in fact the whole Funclate project is dead. Long live PersistentMap.
JSON support has already been ported to TL's parser combinator package, PersistentMap and PersistsentList now replace Model. The only thing left is for me to add templating support to TL. After that UtterlyIdle will drop it's dependency on StringTemplate, Antlr and Funclate!