converted 'const val' -- > 'val' following Eric Niebler's recommandation
replace exceptions by asserts (with optional assert_handler plugin)