package spec type Spec interface { SpecName() Name SpecRevision() int SpecData() any } type RawSpec struct { Name Name Revision int Data any } func (s *RawSpec) SpecName() Name { return s.Name } func (s *RawSpec) SpecRevision() int { return s.Revision } func (s *RawSpec) SpecData() any { return s.Data }