draft of TextWrite.lhs