Similar to https://github.com/rust-lang/unsafe-code-guidelines/issues/78, I was wondering why a value of char that is a surrogate is considered invalid as opposed to valid-but-unsafe. Can a surrogate point actually trigger immediate UB? Thanks!