interface Captioned
abstract val caption: String?
interface CaptionedInput : Captioned
interface CaptionedOutput : Captioned