The article also says that "in a purely functional program, all data is immutable", which is true.
In my opinion, you really do not need to make this distinction. If you are programming in a functional language or in a fully functional style - as opposed to using functional idioms in imperative code, where convenient - then you can simply say "data structure". By definition, they will be unchanging and permanent.
If you need to make a distinction for some reason, then “persistent” may be more suitable for dynamic structures such as trees and queues, where values are “modified” based on execution traces and “unchanged” for simple value objects.
source share