With so much historical momentum around complex, poorly-factored code, it can be difficult to know what simple code looks like.
It can help to see some examples outside of your normal experience, to get you thinking in new ways. With that in mind, I really enjoyed this list:
I'm not saying these should be hard rules, or even that they are ideals. Instead, try refactoring your code to fit within these constraints, and observe the result. Does anything useful appear? (Like a Whole Value?)