In Kotlin or Java we have many different types: integer, byte, double, long, float, string, character, etc.
But one can use an integer instead of byte, and a double instead of an integer.
Why we need all those different type? Why we can't just have a double, and forget about integer, byte, float, etc.?