One of the reasons why it is difficult to give learners hard-and-fast grammatical rules is that once grammar is pressed into communicative service, decisions about which forms to use will be determined by the users.
One should not only teach the forms of grammar but also how grammar is used in meaningful conversations.
-Nunan, D. (2001). Teaching grammar in context. (p.191-199)