diff --git a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/internal/PluginsLoader.kt b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/internal/PluginsLoader.kt
index 1e59e5c75..a9a3d9f85 100644
--- a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/internal/PluginsLoader.kt
+++ b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/internal/PluginsLoader.kt
@@ -16,7 +16,7 @@ import java.net.URLClassLoader
 internal class PluginsLoader(private val parentClassLoader: ClassLoader) {
     private val loggerName = "PluginsLoader"
     private val pluginLoaders = linkedMapOf<String, PluginClassLoader>()
-    private val classesCache = mutableMapOf<String,Class<*>>()
+    private val classesCache = mutableMapOf<String, Class<*>>()
     private val logger = MiraiConsole.newLogger(loggerName)
 
     /**
@@ -93,9 +93,9 @@ internal class PluginsLoader(private val parentClassLoader: ClassLoader) {
  * A Adapted URL Class Loader that supports Android and JVM for single URL(File) Class Load
  */
 
-internal open class AdaptiveURLClassLoader(file: File, parent: ClassLoader):ClassLoader(){
+internal open class AdaptiveURLClassLoader(file: File, parent: ClassLoader) : ClassLoader() {
 
-    private val internalClassLoader:ClassLoader by lazy {
+    private val internalClassLoader: ClassLoader by lazy {
         kotlin.runCatching {
             val loaderClass = Class.forName("dalvik.system.PathClassLoader")
             loaderClass.getConstructor(String::class.java, ClassLoader::class.java)
@@ -110,19 +110,19 @@ internal open class AdaptiveURLClassLoader(file: File, parent: ClassLoader):Clas
     }
 
 
-    private val internalClassCache = mutableMapOf<String,Class<*>>()
+    private val internalClassCache = mutableMapOf<String, Class<*>>()
 
-    internal val classesCache:Map<String,Class<*>>
+    internal val classesCache: Map<String, Class<*>>
         get() = internalClassCache
 
-    internal fun addClassCache(string: String, clazz: Class<*>){
-        synchronized(internalClassCache){
+    internal fun addClassCache(string: String, clazz: Class<*>) {
+        synchronized(internalClassCache) {
             internalClassCache[string] = clazz
         }
     }
 
 
-    fun close(){
+    fun close() {
         if (internalClassLoader is URLClassLoader) {
             (internalClassLoader as URLClassLoader).close()
         }
@@ -135,24 +135,25 @@ internal class PluginClassLoader(
     file: File,
     private val pluginsLoader: PluginsLoader,
     parent: ClassLoader
-) :AdaptiveURLClassLoader(file,parent){
+) : AdaptiveURLClassLoader(file, parent) {
 
     override fun findClass(name: String): Class<*> {
-        return findClass(name,true)
+        return findClass(name, true)
     }
 
-    fun findClass(name: String, global: Boolean = true): Class<*>{
-        return classesCache[name]?: kotlin.run {
+    fun findClass(name: String, global: Boolean = true): Class<*> {
+        return classesCache[name] ?: kotlin.run {
             var clazz: Class<*>? = null
             if (global) {
                 clazz = pluginsLoader.findClassByName(name)
             }
-            if(clazz == null) {
+            if (clazz == null) {
                 clazz = loadClass(name)//这里应该是find, 如果不行就要改
             }
             pluginsLoader.addClassCache(name, clazz)
             this.addClassCache(name, clazz)
-            clazz
+            @Suppress("UNNECESSARY_NOT_NULL_ASSERTION")
+            clazz!! // compiler bug
         }
     }
 }
diff --git a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/setting/internal/ValueCreatorsImpl.kt b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/setting/internal/ValueCreatorsImpl.kt
index e6d80c495..ad4d1ef05 100644
--- a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/setting/internal/ValueCreatorsImpl.kt
+++ b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/setting/internal/ValueCreatorsImpl.kt
@@ -15,32 +15,32 @@ import net.mamoe.mirai.console.setting.Setting
 import net.mamoe.mirai.console.setting.Value
 import kotlin.reflect.KClass
 import kotlin.reflect.KType
-import kotlin.reflect.full.isSubclassOf
 
 
 @PublishedApi
 internal fun Setting.valueFromKTypeImpl(type: KType): Value<*> {
-    require(type.classifier is KClass<*>)
+    val classifier = type.classifier
+    require(classifier is KClass<*>)
 
-    if (type.classifier.isPrimitiveOrBuiltInSerializableValue()) {
+    if (classifier.isPrimitiveOrBuiltInSerializableValue()) {
         TODO("是基础类型, 可以直接创建 ValueImpl. ")
     }
 
     // 复合类型
 
     when {
-        type.classifier.isSubclassOf(Map::class) -> {
+        classifier == Map::class -> {
 
             TODO()
         }
-        type.classifier.isSubclassOf(List::class) -> {
+        classifier == List::class -> {
 
             TODO()
         }
-        type.classifier.isSubclassOf(Set::class) -> {
+        classifier == Set::class -> {
             TODO()
         }
-        else -> error("Custom composite value is not supported yet (${type.classifier.qualifiedName})")
+        else -> error("Custom composite value is not supported yet (${classifier.qualifiedName})")
     }
 }