I may test it first with the short URL version.
For say guitar lessons, I think this would fit your model:
And the short version for test purposes would be:
And a dash-removed version is:
For related keywords:
For a quick check on how Google sees the URLs, I look at what it highlights in the search results.
For plurals, there doesn't seem to be a difference.
Also, I am thinking that the dot is a delimiter where what is after the dot such as PHP or HTML is not so important. Maybe? Also, if we have a slash or no slash at the end of a URL.
I try and put myself in the shoes of a search engine programmer where I would filter out the noise from a URL to leave the keywords, order of the keywords and domain name for analysis.
terapak, I would try: domain.com/article-title/2010 to move the keyword to the left if you must include the year field.
If there is an issue with duplicate post name text, then the programmers should append a number to the URL I think. When a post is published, the script scans the existing file names and appends a unique number if there is a duplicate entry.