Per the documentation in lodash, they are only to accept an array, not a dictionary nor an object. Also, since the first thing done is a check for (array && array.length), we can conclude that the first parameter is optional (and when Typescript 2 comes along, optional or null).