Why does concurrentsubject have two type parameters but publishsubject has 1.
How does concurrent subject map the input type to the output type?
abstract classConcurrentSubject[I, +O] extends Subject[I, O] with Sync[I]
https://monix.io/api/current/monix/reactive/subjects/index.html