Separate recognition and extension rules; add 'lax' recognition rules