_linger :: Time -> Pattern a -> Pattern a
_linger n p | n < 0 = _fast (1/n) $ zoomArc (Arc (1 + n) 1) p
            | otherwise = _fast (1/n) $ zoomArc (Arc 0 n) p
_linger :: Time -> Pattern a -> Pattern a
_linger n p | n < 0 = _fast (1/n) $ zoomArc (Arc (1 + n) 1) p
            | otherwise = _fast (1/n) $ zoomArc (Arc 0 n) p
_linger n p | n < 0 = _fast (1/n) $ zoomArc (Arc (1 + n) 1) p
            | otherwise = _fast (1/n) $ zoomArc (Arc 0 n) p