[Detail] Use intrinsics for detecting true type names.
[Detail] Module decomposition.
[Detail] Forgot to add crate importing.
[Compatibility] Fixed deprecation warnings with nightly Rust.
[Detail] Use more intrinsics.