abstract fun <T : Any> FullType<T>.instantiate(json: JsonObject?): T?
abstract fun Type.instantiate(json: JsonObject?): Any?
abstract fun <T : Any> FullType<T>.instantiate(arr: JsonArray?): T?
abstract fun Type.instantiate(arr: JsonArray?): Any?