Yeah I think most of that code wasn't needed in the end. The only case is with expressions and that's a ```DeclExp``` which contains a ```ArrayLiteralExp```.