> It seems that if we take one more logical step in this direction, we'll get generics.
I agree, Unix would have been so much better with generics, ADTs, higher-order functions, monads, higher-kinded types, dependent types and structural pattern matching.
As I always say: "Those who do not understand generics were condemned to invent Unix, poorly."