(note this is the existing behavior in `ModuleProtocol` before my additions, so I've followed the pattern)