Having a chunk with mixed slot syntax raises a PatternException only when the unnamed slot comes after the named slot (e.g., isa:animal bird raises an exception) but not when the unnamed slot precedes a named one (e.g., bird isa:animal is currently legal).
Is this expected behaviour? The PatternException error message ("Found unnamed slot '%s' after named slot in pattern '%s'") explicitly forbids the former use case but I have not encountered suggestions anywhere in documentation/tutorials that mixed syntax within chunks should be used -- OTOH, mixing syntax across different chunks is well-documented!