Object-orientation has nothing to do with generics. Generics are static typing v2, object-orientation is an entire programming paradigm encompassing program design, idioms, the fundamental way you think about flow, etc., and doesn't require static typing v1 either. JS, the most object-oriented language under the sun, doesn't have generics; C, the least, does.