message: Reindent lib/fast-path.js to use two spaces per tab.
  This project began when my personal style was to use four spaces per tab,
  but I've changed my ways since then.
diff: @@ -186,8 +186,8 @@ FPp.needsParens = function(assumeExpressionContext) {
  var node = this.getNode();
  // If the value of this path is some child of a Node and not a Node
  - // itself, then it doesn't need parentheses. Only Node objects (in
  - // fact, only Expression nodes) need parentheses.
  + // itself, then it doesn't need parentheses. Only Node objects (in fact,
  + // only Expression nodes) need parentheses.
  if (this.getValue() !== node) {
  return false;
  }
  @@ -256,10 +256,9 @@ FPp.needsParens = function(assumeExpressionContext) {
  return false;
  case "ForStatement":
  - // Although parentheses wouldn't hurt around sequence
  - // expressions in the head of for loops, traditional style
  - // dictates that e.g. i++, j++ should not be wrapped with
  - // parentheses.
  + // Although parentheses wouldn't hurt around sequence expressions in
  + // the head of for loops, traditional style dictates that e.g. i++,
  + // j++ should not be wrapped with parentheses.
  return false;
  case "ExpressionStatement":
  @@ -364,8 +363,8 @@ function isBinary(node) {
  function isUnaryLike(node) {
  return n.UnaryExpression.check(node)
  - // I considered making SpreadElement and SpreadProperty subtypes
  - // of UnaryExpression, but they're not really Expression nodes.
  + // I considered making SpreadElement and SpreadProperty subtypes of
  + // UnaryExpression, but they're not really Expression nodes.
  || (n.SpreadElement && n.SpreadElement.check(node))
  || (n.SpreadProperty && n.SpreadProperty.check(node));
  }
  