     
     public func filter(f: T -> Bool) -> Signal<T>{
         let signal = Signal<T>()
-        subscribe { value in
-            switch(value) {
-            case let .Success(box):
-                if f(box) {
-                    signal.update(value)
+        subscribe { result in
+            switch(result) {
+            case let .Success(value):
+                if f(value) {
+                    signal.update(result)
                 }
             case let .Error(error): signal.update(.Error(error))
             }

    */
    public func bind<U>(f: (T, (Result<U>->Void))->Void) -> Signal<U> {
        let signal = Signal<U>()
        subscribe { value in
            value.bind(f)(signal.update)
        }
        return signal
    }

    */
    public func ensure<U>(f: (Result<T>, (Result<U>->Void))->Void) -> Signal<U> {
        let signal = Signal<U>()
        subscribe { result in
            f(result) { signal.update($0) }
        }
        return signal
    }
