Surprise with asterisk in list-directed read

I agree it’s surprising, but it is consistent with the first two examples of the overloaded asterisk in the code

      program test23stars
      character:: b,c,d='?'
      integer j,k,n(2)
      data j,k/2*0/                 ! repeated value in data            (3)
      call input(n,'2*4',b,c,d,*666)! repeated value in list-directed input, 
C                                   ! alternate return
...

at