Implement spec intersection