See comment below about incomplete matches and documenting exceptions.