https://medium.com/@vibhanshusharma_93861/understanding-as-t-and-as-t-operator-in-kotlin-6e27c97e5f3d