doc + exhaustive matches