Basically we want something like: https://github.com/evancz/elm-html/blob/master/Html/Optimize/RefEq.elm
we want a function thunked :: (a -> VTree) -> a -> VTree
What it does is: say a -> VTree
produces a quite complex VTree
(which is expensive to build) we could just referentially compare a to it's previous version at previous render. IF they're equal, we just return the previous VTree
. so we dont need to rebuild it.
newtype VTree = VTree (JSRef VTree) --
foreign import javascript unsafe "new Thunk($1, $2)"