sth about generic array