What problems have the lack of generics caused you in development?
Except for multiple return values, easy concurrency, implicit interfaces, real value types, pointers, functions as first class types, closures, no inheritance, no exceptions.... but yeah, other than that, they're totally similar languages.
In C#, before generics, wiring up a typed collection/enumerable was seriously painful.