The behaviour of date_part function is opaque for infinity intervals.
For example
date_part('epoch', 'infinity'::date) and date_part('year',
'infinity'::date) return zero but is supposed to return 'infinity',
date_part('day', 'infinity'::date) returns zero, should it return 'NaN'
instead?