switched to finger trees for persistent vectors. no cons = boo