combine conditionals; I thought parseSpec was wrong, but it turns out that it was...