min :: [Date] -> Date

Takes an array of dates and returns the oldest one. Ignores invalid Javascript date objects and returns an Invalid Date if no valid date objects are provided.

const date1 = new Date('2015-01-01 11:22:33.333');
const date2 = new Date('2014-04-09 01:22:33.333');
const invalidDate = new Date('foo');

D.min([date1, date2]); // date2
D.min([date1, date2, invalidDate]); // date2
D.min([invalidDate]); // Error