+ * type_t
+ *
+ * A type alias for the first template type argument. `type_t` is useful for
+ * controlling class-template and function-template partial specialization.
+ *
+ * Example:
+ *
+ * template <typename Value>
+ * class Container {
+ * public:
+ * template <typename... Args>
+ * Container(
+ * type_t<in_place_t, decltype(Value(std::declval<Args>()...))>,
+ * Args&&...);
+ * };
+ *