```class HigherKindExtractor2<F>(M: Monad&lt...
# arrow
g
Copy code
class HigherKindExtractor2<F>(M: Monad<F>) : Monad<F> by M {
    private fun getIsSomethingTrueInHigherKind(userName: String) = fx.monad { true }
    private fun booleanInput(booleanParam: Boolean) = booleanParam
    
    private fun getOptionString() = "".toOption()
    private fun getListOfStrings() = listOf<String>()

    private fun listMapper() = fx.monad {
        getListOfStrings().map { booleanInput(!getIsSomethingTrueInHigherKind(it)) }
    }
    
    private fun optionMapper() = fx.monad {
        getOptionString().map { booleanInput(!getIsSomethingTrueInHigherKind(it)) }
    }
}