@edvin this time I got a bigger bit of the co/contravariance quickfix:
Look at the ItemViewModel<T> class, starting line 550.
There are a couple of bind functions, that work directly on properties, like
bind(property: KProperty1<T, N?> ...
bind(property: KMutableProperty1<T, N> ...
bind(property: KMutableProperty1<T, N?> ...
and so on.
These can benefit from adding the an in modifier to the T parameter could use : if someone makes abstract Viewmodels this makes a lot of sense (I'm doing it right now).