``` class Query<T>(val query: String, conver...
# codereview
a
Copy code
class Query<T>(val query: String, converter: (DBRow) -> T, callback: CompletableFuture<List<T>>)

class Database {
    val queue: BlockingQueue<Query<*>>

    fun run() {
        val query = queue.take()
        
        val result = database.query(query).map(converter)
        query.callback.complete(result)
    }
}
So I've got this piece of code, but it doesn't really work because of type erasure. how would you guys fix this?