package com.margelo.nitro.gradient sealed interface OptionalVariant { data object NotProvided : OptionalVariant data class Provided(val value: T?) : OptionalVariant } fun Variant_NullType_DoubleArray?.asOptionalDoubleArray(): OptionalVariant = when (this) { null -> OptionalVariant.NotProvided is Variant_NullType_DoubleArray.First -> OptionalVariant.Provided(null) is Variant_NullType_DoubleArray.Second -> OptionalVariant.Provided(this.value) }