I’m not convinced that limiting expressiveness (for example by not supporting generics) will make software easier to read and maintain. For smaller programs that might very well be true, but for me personally, having more expressiveness makes it easier to navigate bigger code bases because you don’t have to trudge through code duplication, unnecessary boilerplate etc.