\definelist[testlist][criterium=all]

\starttext

    Regular list entries are bound to a specific location in order to
    get the right pagenumber etc.\ associated. When pushing something
    inbetween (in mkiv) it ends up directly in the list. This is the
    default because otherwise users will wonder why spacing might get
    messed up (due to an unseen but present node). It is possible to
    force a location by explicitly setting \type {location} to \type
    {here}.

    Another way to force a certain order is to set the \type {order}
    variable when placing a list. The \type {command} option only
    pushes commands into the right order, and \type {all} orders all
    entries (which might be too much). In this case no specific
    location is needed with the inbetween method. Maybe additional
    mechanisms show up some day.

    \subject{normal}  \placelist[testlist]
    \subject{command} \placelist[testlist][order=command]
    \subject{all}     \placelist[testlist][order=all]

    \page \input tufte

    \writetolist     [testlist]               {1} {One}
    \writebetweenlist[testlist]               {\blackrule[color=red,width=\hsize]}
    \writebetweenlist[testlist][location=here]{\blackrule[color=blue,width=\hsize]}
    \writetolist     [testlist]               {2} {Second}
    \writetolist     [testlist][location=none]{W} {Whatever}
    \writebetweenlist[testlist]               {\blackrule[color=green,width=\hsize]}

\stoptext
