Idea from MSRI2010:

  Have assert take an optional argument, the error message in case it fails. Example: assert( 1 == 2, "D'Oh, 1 is not 2")
  check package should then print something like (Franzi) 

		 stdio:47:3:(3):[0]: error: assertion failed, D'Oh, 1 is not 2
		 /tmp/M2-64609-3.m2:0: (input file) error: ...

-- okay, install:

   assert(Thing,String) := (x,s) -> if not x then error ... s ...
   assert(Thing,Function) := (x,f) -> if not x then error ... f() ...
