index.js
function wrap(fn) {
  return wrapped

  function wrapped(node, parent) {
    try {
      fn(node, parent)
    } catch (error) {
      if (!error[ID]) {
        error[ID] = true

        error.message += ': `' + view(node) + '`'

        if (parent) {
          error.message += ' in `' + view(parent) + '`'
        }
      }

      throw error
    }
  }
}
function wrap(fn) {
  return wrapped

  function wrapped(node, parent) {
    try {
      fn(node, parent)
    } catch (error) {
      if (!error[ID]) {
        error[ID] = true

        error.message += ': `' + view(node) + '`'

        if (parent) {
          error.message += ' in `' + view(parent) + '`'
        }
      }

      throw error
    }
  }
}
/* Wrapper around `Node` which adds the current node
(and parent, if available), to the message.