//! What proves a game's set holds a type.
/// Proves that a set holds `T`.
///
/// Written by [`meshes!`](crate::meshes),
/// [`surface_styles!`](crate::surface_styles) and
/// [`post_effects!`](crate::post_effects) for every type they name, and by
/// the engine for the three kinds an [`InputActions`](crate::InputActions)
/// set seats. Every call that takes a value of a game's own set is bound by
/// it — [`draw`](crate::FrameContext::draw), both `prepare` calls, the
/// input queries, [`rebind`](crate::FrameContext::rebind),
/// [`bindings`](crate::FrameContext::bindings),
/// [`Instance::surface_style`](crate::mesh::Instance::surface_style),
/// [`set_surface_style`](crate::FrameContext::set_surface_style) and
/// [`set_post_effect`](crate::FrameContext::set_post_effect) — so a game
/// spells this bound only in code of its own that draws, reads an action,
/// or sets a style or effect for any [`Game`](crate::Game). `B` is the
/// kind's binding type, which the three input seats differ by; every other
/// set leaves it `()`.