semantic: Copy type smartly when typing ArrayLiteral
visitor: Visit ArrayLiteral type