array_type : dtype
                | array_type LARRAY array_indices RARRAY

def p_array_type(self, p):
        '''array_type : dtype
                | array_type LARRAY array_indices RARRAY'''
        if len(p) == 2:
            p[0] = p[1][0],
        elif len(p) == 5 and p[4] == ']':
            def args(t):
                return t.__args__ if isinstance(t, NDArray) else (t,)
            p[0] = tuple(NDArray[args(t) + p[3]] for t in p[1])