SOLVED: Nullable CompositeMoneyColumn, how to assign a nullable MonetaryAmount?

I had a column like this:

    val notNullableAmount = compositeMoney(DECIMAL_PRECISION,
        DECIMAL_SCALE,
        "principal_sum",
        "principal_sum_currency")

In this case I can assign a value of type MonetaryAmount to the column like:

    it[notNullableAmount] = ggnCollectionDocument.principalSum!!

But when I use nullable() like:

    val principalSum = compositeMoney(DECIMAL_PRECISION,
        DECIMAL_SCALE,
        "principal_sum",
        "principal_sum_currency").nullable()

Then I can’t assign the MonetaryAmount anymore. It complains with some generic fault message:

None of the following functions can be called with the arguments supplied.
set(Column<TypeVariable(ID)>, TypeVariable(E))   where S = TypeVariable(S), ID = TypeVariable(ID), E = TypeVariable(E) for    fun <S, ID : EntityID<S>, E : Expression<S>> set(column: Column<ID>, value: E): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement
set(Column<TypeVariable(ID)>, TypeVariable(S))   where S = TypeVariable(S), E = TypeVariable(E), ID = TypeVariable(ID) for    fun <S : Comparable<S>, E : S, ID : EntityID<E>?> set(column: Column<ID>, value: S): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement
set(Column<TypeVariable(S)>, TypeVariable(S))   where S = TypeVariable(S) for    fun <S> set(column: Column<S>, value: S): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement
set(Column<TypeVariable(S)>, Query)   where S = TypeVariable(S) for    fun <S> set(column: Column<S>, value: Query): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement
set(Column<TypeVariable(T)>, TypeVariable(E))   where T = TypeVariable(T), S = TypeVariable(S), E = TypeVariable(E) for    fun <T, S : T, E : Expression<S>> set(column: Column<T>, value: E): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement
set(CompositeColumn<TypeVariable(S)>, TypeVariable(S))   where S = TypeVariable(S) for    fun <S : Any> set(column: CompositeColumn<S>, value: S): Unit defined in org.jetbrains.exposed.sql.statements.InsertStatement

In the declaration of the table:

    val principalSum = (compositeMoney(DECIMAL_PRECISION,
        DECIMAL_SCALE,
        "principal_sum",
        "principal_sum_currency").nullable()) as CompositeMoneyColumn<*, *, MonetaryAmount?>

And in the usage:

it[principalSum] = ggnCollectionDocument.principalSum

With an overloader operator:

private operator fun InsertStatement<*>.set(column: CompositeMoneyColumn<*,*,MonetaryAmount?>, value: MonetaryAmount?) {
    val insertStatement = this
    insertStatement.set(column.amount as Column<BigDecimal?>, value?.number?.numberValue(BigDecimal::class.java))
    insertStatement.set(column.currency as Column<CurrencyUnit?>, value?.currency)