Declares a JobType named name, taking I and producing O.
Both types have to be serializable with kotlinx.serialization, because a job outlives the process that enqueued it.
kotlinx.serialization