make use of Vector.patch
make SyntaxTree's parentOf and spanOf lazy