add the non-IO constructor to date, just for presentation
remove unnessecary strictness
remove unnessecary strictness