A good next step is to get rid of every single instance of collect in all your functions. See if anything breaks. Check for ways to fix it without using collect.
Also, cell = [] is a red flag for performance. Try to use typed containers, preferably by letting the compiler figure out the types. But a plain [] forces the eltype to be Any, which hurts performance.
BTW, what is Lar.Cells? It looks like the code is using regular Arrays of Arrays.