this is just a general comment, why support array-like instead of just array?