//! Port of a `First<T, ...>` template metafunction whose member `using type = T`
//! exposes the first type of a pack.
//!
//! **Deviation (documented):** C++'s `First<T>::type` is an inherent member type
//! alias; Rust inherent associated types are unstable, so the `type` member is
//! re-expressed as the stable associated type of the [`FirstType`] trait. The
//! relationship `First<T> -> T` is preserved; access it as
//! `<First<T> as FirstType>::Type`.
/// Carries the `First<T>::type == T` relationship as a stable associated type.