Age really has nothing to do with it, I find the whole "16 year-old" and "18 year-old" thing ridiculous. Rulings should be based on common sense. There's an incident where a guy who had been around the sun 15 times had sex with a 37 year old woman. Thanks to the Conservatives raising the age of consent to 16 from 14, that woman is now a child molester and will have a MINIMUM sentence of 10 years. The "victim" gets no punishment, since he apparently didn't know what he was doing, or some ultra right-wing or ultra left-wing crap.
Having gone to an all boys-boarding school, I like to think of it this way. What if a bunch of woman came to the girl-starved people of our grade 7-12 school? Would it be fair to tell the grade 7 and 8's that they need to basically have gay sex with each other if they want some? (age of consent 14) Would it be fair to say that all juniors, many of whom have already done it, are too young? (age of consent 16) Is it fair to say that the whole hormone raging teenage boy school, MOST of whom have already done it are still too young? (age of consent 18, U.S.) All of those scenarios are bullshit.
However, it would be fair to say that most of those people would not want a 40 year-old gay man to have their way with them, so that little bit of common sense could be put in. Until you're 18, you can't have sex with a guy more than one year older or younger than you, or something like that. But please, let's stop basing things on ancient Old-World tradition (you become a man at 16 or whatever) and religion (pre-martial sex is bad. Just go with it; unless you like fire so much you want it to engulf you for an eternity) please, Canada doesn't need no-sense things like putting a woman in jail for giving someone the best experience of his whole life.
If a bomb was dropped every time common sense was ignored, we wouldn't have to worry about saving the planet, because it would already be gone.