   
   dependsOn = (orig, o) ->
     myDeps = flatDeps[orig.id]
-    if !myDeps
+    unless myDeps
       myDeps = flatDeps[orig.id] = {}
       collectDeps orig, orig
     myDeps[o.id]

  take: (count) ->
    return Bacon.never() if count <= 0
    withDescription(this, "take", count, @withHandler (event) ->
      if !event.hasValue()
        @push event
      else
        count--

    endMarker = {}
    withDescription(this, "takeUntil", stopper, Bacon.groupSimultaneous(@mapEnd(endMarker), stopper.skipErrors())
      .withHandler((event) ->
        unless event.hasValue()
          @push event
        else
          [data, stopper] = event.value()
