Debug Unreachable
=================
This crate defines an unreachable! macro that is conditionally compiled depending on
the build profile.
If the build is debug , it translates to core::unreachable
If the build is release, it translates to core::hint::unreachable_unchecked
There are cases where unreachable_unchecked is faster that unreachable.
This macro uses the unchecked version on release mode, but still checks on debug mode,
allowing you to catch cases in which the unreachable code is reached.
