Review and changes from Jocelyn Fiat

this is different, but my suggestion make the assertion nicer to write, it show clearly which data are only for digest , and also make it benefit from void-safety