This document discusses how aspect-oriented programming (AOP) enables modular reasoning in the presence of crosscutting concerns. It introduces key concepts, including aspect-aware interfaces that describe how aspects cut new interfaces through the primary decomposition of a system. The document argues that while this dependency on system configuration seems anti-modular, it is an inherent property of crosscutting concerns, and AOP makes the requirements for modular reasoning more explicit. It presents an example to illustrate aspect-aware interfaces and discusses how interfaces in AOP systems depend on the complete deployment configuration. The document concludes that with aspect-aware interfaces, modular reasoning is possible once the deployment configuration is known.