return Array(T).new if self is empty