having Object here will force boxing primitives and add overhead (memory, GC, ...)