if (!isFairUse(workUnderInvestigation) && copyrightable(originalWork)) {
bigCopyrightPayout();
}
Short circuit on the and operator. It's fair use, so copyrightable will not be evaluated. Evaluating copyrightable has an obervable side effect of creating a precedent.
Yes, exactly that. Why do the && in that order? Because isFairUse(workUnderInvestigation) was a much less expensive operation than copyrightable(originalWork) for this particular value of originalWork.