Cheshire cat-like handler?

Correct me if I am wrong, but I believe UE4 does not use the Cheshire pattern to reduce compilation time. Whenever you re-compile your small project, the whole engine(or a large part of it) gets recompiled. What stops the usage of such a design idea, and what performance improvement can we expect if this pattern is to be implemented?