1.stream.iterator.StreamIterator` object

>>> p1.notes
<music21.stream.iterator.StreamIterator for Part:0x105b56128 @:0>

Let's add a measure to `p1`:

>>> m1 = stream.Measure()
>>> n2 = note.Note('D')
>>> m1.insert(0, n2)
>>> p1.append(m1)

Now note that `n2` is *not* found in `p1.notes`

>>> p1.notes.stream().show('text')
{0.0} <music21.note.Note B>
{2.0} <music21.chord.Chord A B->

We need to call `p1.flatten().notes` to find it:

>>> p1.flatten().notes.stream().show('text')
{0.0} <music21.note.Note B>
{2.0} <music21.chord.Chord A B->
{3.0} <music21.note.Note D>

(Technical note: All elements of class NotRest are being found
right now.  This will eventually change to also filter out
Unpitched objects, so that all elements returned by
`.notes` have a `.pitches` attribute.
r[