All the case classes used in the SBT "interface" (ie, types used in SBT keys) were in the Compilers class, so it felt natural that AnalysisResult also go there.  AggressiveCompile is in a different sub project that can't see that, so it therefore was excluded from using that.  Happy to move AnalysisResult, but would like some guidance as to exactly where it should go.