Types of crashes/errors ======================= These are easy to catch at compile time, and will definitely be catch in SLUL: * Memory corruption * Null pointer * Uninitialized value These are hard to catch at compile time, and generally not caught by safe languages: * Stack overflow * Out of memory * Non-termination * Value errors: - Integer range error - Index out of bounds - "Semantic type confusion" - For example, if you have a list of "Red","Green","Blue" and you put "Long" inside it, you might have semantic type confusion. - Paired value mismatch - For example, taking x and y coordinates from different `Point` objects. - Unsanitized data - Temporally wrong state - The object state could be correct at some other point in time, but isn't correct now. - Structurally wrong state - The object should never be in this state.