add SafeInt. known issue: apparently conflicts with llvm's coverage (-fprofile-arcs). SIGSEGV at exit