elizarov
abstract class BasePresenter<V : BaseView<P, V>, M : BaseModel, P : BasePresenter<V, M, P>> : ViewPresenter<V>() abstract class BaseView<P : BasePresenter<V, *, P>, V : BaseView<P, V>> : IView