code: function endsWithCurlyBraceOrSemicolon ( node ) {
  	return (
  		node.type === 'BlockStatement' ||
  		node.type === 'SwitchStatement' ||
  		node.type === 'TryStatement' ||
  		node.type === 'EmptyStatement'
  	);
  }
docs: TODO this whole thing is kinda messy... refactor it