code: function uniq (gamut) {
    var semitones = heights(gamut)
    return gamut.reduce(function (uniq, current, currentIndex) {
      if (current) {
        var index = semitones.indexOf(semitones[currentIndex])
        if (index === currentIndex) uniq.push(current)
      }
      return uniq
    }, [])
  }
docs: remove duplicated notes AND nulls