object Accumulate {
    fun <T, R> accumulate(inpList: List<T>, func: (T) -> R): List<R> {
        var outList: MutableList<R> = emptyList<R>().toMutableList()
        for (i in inpList){
            outList.add(func(i))
        }
        return outList
    }
}