Can I just add that the compiler doesn't cull faces if they are hidden by func_detail. brush-brush faces are culled, even within a func_detail comprising of multiple brushes, but I believe that faces/parts of faces that are covered by func_detail are still rendered. It is not much of a problem, especially if it is covering only part of a face, as func_details shouldn't ever be big enough to have a noticeable effect on fps or compile time because of this behaviour.
If this has already been mentioned, or I am wrong in any way, I apologise.