One of the things that terrify me about refinements is that it'll just end up as a band aid for bad designs in cases where the vastly better solution would be to redesign without the need for monkey patches. They we end up with code that's potentially a lot harder to reason about out of pure laziness.