close #3; handle primitive type arrays