If you're familiar with languages like Java, C# or C++ and the concept of generics/templates then this comparison might be useful for you.
Say we have a generic function in C#
public static T DoNothing<T>(T in) { return in; }
To call this function with a float we can do DoNothing(5.0f) or...