a compile time constant that makes it easy to
include assertions and checks in code that you would like removed when running
at full speed. safe will be true unless the program is compiled with the
-safe false option, in which case it will be false. The simplification
passes of the compiler will remove any uses of safe at compile time. For
example, array subscripting might be implemented as:
fun sub (a, i) =
if MLton.safe andalso (i < 0 orelse i >= length a)
then raise Subscript
else unsafeSub (a, i)
When compiled -safe false, sub will reduce to
unsafeSub.