         
         var tvar1 = newTVar(someObj)
         let stmTest1 = writeTVar(tvar1, SimpleObject(4,7))   >>-
-                     { readTVar(tvar1)                     } >>|
-                     { writeTVar(tvar1, SimpleObject(6,9)) } >>-
-                     { readTVar(tvar1)                     }
-
+            { readTVar(tvar1)                     } >>|
+            { writeTVar(tvar1, SimpleObject(6,9)) } >>-
+            { readTVar(tvar1)                     }
+        
         let (x1, y1) = atomic(stmTest1).getXY()
         
         var tvar2 = newTVar(someObj)

        
        var tvar = newTVar(someInt)
        let stmTest1:STM<()> = modifyTVar(tvar, fun) >>|
                             { readTVar(tvar)}       >>-
                             { if $0 != 16 {
                                 return retry()
                             } else {
                                 return returnM()
                             }}
        let stmTest2 = writeTVar(tvar, 6) >>> { readTVar(tvar) }
        
        
        let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

        self.y = y
    }
    
    public func copy() -> TVarProtocol {
        return SimpleObject(self.x, self.y)
    }
    
