diff --git a/Sound/SC3/Lang/Control/Event.hs b/Sound/SC3/Lang/Control/Event.hs
--- a/Sound/SC3/Lang/Control/Event.hs
+++ b/Sound/SC3/Lang/Control/Event.hs
@@ -224,8 +224,8 @@
             then (t0,e0) : f_merge r0 q
             else (t1,e1) : f_merge p r1
 
--- | Times are real valued @UTC@.
-type Time = Double
+-- | Times are /hosc/ (NTP) times.
+type Time = O.Time
 
 -- | Merge two time-stamped 'Event' sequences.  Note that this uses
 -- 'fwd' to calculate start times.
@@ -282,8 +282,8 @@
                                E_s_new -> [S.n_set i [("gate",0)]]
                                E_n_set -> [S.n_set i [("gate",0)]]
                                E_rest -> []
-            in Just (O.Bundle (O.UTCr t') m_on
-                    ,O.Bundle (O.UTCr (t' + rt)) m_off)
+            in Just (O.Bundle t' m_on
+                    ,O.Bundle (t' + rt) m_off)
 
 {-
 -- | The frequency of the 'pitch' of /e/.
diff --git a/Sound/SC3/Lang/Control/OverlapTexture.hs b/Sound/SC3/Lang/Control/OverlapTexture.hs
--- a/Sound/SC3/Lang/Control/OverlapTexture.hs
+++ b/Sound/SC3/Lang/Control/OverlapTexture.hs
@@ -211,6 +211,6 @@
 -- the 'IO' monad.
 overlapTextureM :: OverlapTexture -> IO UGen -> IO ()
 overlapTextureM k u = do
-  t <- utcr
+  t <- time
   let (_,_,_,c) = k
   withSC3 (dt_rescheduler_m (overlapTextureR k u) (c,t))
diff --git a/Sound/SC3/Lang/Pattern/ID.hs b/Sound/SC3/Lang/Pattern/ID.hs
--- a/Sound/SC3/Lang/Pattern/ID.hs
+++ b/Sound/SC3/Lang/Pattern/ID.hs
@@ -1071,13 +1071,14 @@
 -- | Send 'E.Event' to @scsynth@ at 'Transport'.
 e_send :: Transport m => E.Time -> Int -> E.Event -> m ()
 e_send t j e =
-    case E.to_sc3_bundle t j e of
-      Just (p,q) -> do case E.instrument_def e of
-                         Just d -> void (async (d_recv d))
-                         Nothing -> return ()
-                       sendBundle p
-                       sendBundle q
-      Nothing -> return ()
+    let voidM a = a >> return ()
+    in case E.to_sc3_bundle t j e of
+        Just (p,q) -> do case E.instrument_def e of
+                           Just d -> voidM (async (d_recv d))
+                           Nothing -> return ()
+                         sendBundle p
+                         sendBundle q
+        Nothing -> return ()
 
 -- | Function to audition a sequence of 'E.Event's using the @scsynth@
 -- instance at 'Transport' starting at indicated 'E.Time'.
@@ -1091,12 +1092,12 @@
                         pauseThreadUntil t'
                         e_tplay t' j' e'
 
--- | Variant of 'e_tplay' with current clock time from 'utcr' as start
+-- | Variant of 'e_tplay' with current clock time from 'time' as start
 -- time.  This function is used to implement the pattern instances of
 -- 'Audible'.
 e_play :: (Transport m) => [Int] -> [E.Event] -> m ()
 e_play lj le = do
-  st <- utcr
+  st <- time
   e_tplay st lj le
 
 instance Audible (P E.Event) where
diff --git a/hsc3-lang.cabal b/hsc3-lang.cabal
--- a/hsc3-lang.cabal
+++ b/hsc3-lang.cabal
@@ -1,5 +1,5 @@
 Name:              hsc3-lang
-Version:           0.12
+Version:           0.13
 Synopsis:          Haskell SuperCollider Language
 Description:       Haskell library defining operations from the
                    SuperCollider language class library
@@ -23,8 +23,8 @@
                    containers,
                    data-default,
                    hmatrix-special,
-                   hosc == 0.12.*,
-                   hsc3 == 0.12.*,
+                   hosc == 0.13.*,
+                   hsc3 == 0.13.*,
                    MonadRandom,
                    mtl,
                    split,
