let internal (<%=) W Z clear async N =
let X thriller =
(W : Dev).ListPos .Clear()
if clear then W.Out .Clear()
thriller()
if async then
W
.Thread <- new Thread( new ThreadStart
( fun () -> W
.Run(N
) ) ) else W.Run N
X
<| fun () -> Array.iter(fun z
-> W
.ListPos.Add <| z
) Z