In the question "Is Oracle's syntax diagram for PL/SQL blocks wrong?" René Nyffenegger showed how Oracle allows cursor definitions to preceed variable declarations in the declare section of a block in spite of Oracle's documenation indicated that this was not allowed. And asked if he was missing anything.
Paxdiablo's answer concurred with René's reading of the documentation that a cursor definition can not come prior to a variable declaration, since variable declarations are only allowed in item_list_1, cursor definitions are only allowed in item_list_2 and item_list_1 comes before item_list_2.
René commented, "I wonder if there is any distinction between item_1 elements and item_2 elements at all?" In my words, "Is there any ordering required between different types of entries in the declare section of a block?"