Jvm Persistent and Functional Data Structures