Backend, Formatter, and
SamplingStrategy protocols; the Component, CBlock, Context, and
ModelOutputThunk data types that flow through the inference pipeline; and
Requirement / ValidationResult for constrained generation. Start here when
building a new backend, formatter, or sampling strategy, or when you need the type
definitions shared across the library.