This is way too late, but I couldn't find discussion in the archives of this and related srfis, so I post here for the reference.

In *-index, *-take-while, *-take-while-right, *-drop-while, *-drop-while-right, *-span and *-break procedures, some takes the predicate first followed by object(s) to be examined, and the other takes the object first then followed by the predicate.

So far, only strings and alike adopt the latter.  I don't think we can change them now, but it'll be helpful to keep them well separated in this way for the future libraries (that is, only string-specific libraries use the latter).

## "Predicate first" group:

(scheme list)
  list-index pred list1 list2 ...
  take-while pred list
  drop-while pred list
  span pred list
  break pred list

(scheme vector)
  vector-index pred vec1 vec2 ...

(scheme ideque)
  ideque-take-while pred ideque
  ideque-take-while-right pred ideque
  ideque-drop-while pred ideque
  ideque-drop-while-right pred ideque
  ideque-span pred ideque
  ideque-break pred ideque

(scheme lseq)
  lseq-index pred lseq
  lseq-take-while pred lseq
  lseq-drop-while pred lseq

(scheme stream)
  stream-take-while pred strm
  stream-drop-while pred strm


## "Object first" group:

(srfi 13)
  string-index string pred+ [start end]              ; pred+ = pred / char / char-set

(srfi 130)
  string-index string pred [start end]

(srfi 135)
  textual-index textual pred [start end]

(srfi 140)
  string-index string pred [start end]

(srfi 152)
  string-index string pred [start end]
  string-take-while string pred [start end]
  string-take-while-right string pred [start end]
  string-drop-while string pred [start end]
  string-drop-while-right string pred [start end]
  string-span string pred [start end]
  string-break string pred [start end]