apply an IOSArrow to an empty root node with initialState () as initial state
the main entry point for running a state arrow with IO
when running runX f an empty XML root node is applied to f.
usually f will start with a constant arrow (ignoring the input), e.g. a readDocument arrow.
for usage see examples with writeDocument
if input has to be feed into the arrow use runIOSLA like in runIOSLA f emptyX inputDoc