The TranscriptBuilder struct is responsible for constructing a transcript of input data.
It contains a domain for unique identification, a data vector to hold the input data,
and an optional prefix for new labels.
TranscriptBuilderInput is a trait that provides an interface for any data
that can be passed as input to the TranscriptBuilder. Implementers of this trait
should provide a unique type identifier and a method to return serialized bytes for the data.