Pushing latest proposed changes

* renamed some variables and methods for better clarity
* removed punctuate inline function from _joinMap
* changed implementations of _join and _enclose to force grouping when adequate.
 * added render method in Pretty mixin