enhanved array AST

array expressions contain a vector of
key-value pair of expressions.
more updates to array AST

array accesses now have an AST, instead of only
capturing scalars.
update include AST

now capturing the entire expression properly
closure AST

capturing closure parameters, lexical variables,
and closure statements.