     public func map<U>(accumulate initialValue: U, _ accumulateClosure: (accumulatedValue: U, newValue: T) -> U) -> Signal<U>
     {
         return Signal<U> { progress, fulfill, reject, configure in
+            
             var accumulatedValue: U = initialValue
             
             self.progress { p in

            }
            
            _bind(nil, reject, configure, self)
        }.name("\(self.name)-map(accumulate:)")
    }
    

    
    /// map using newValue only & bind to transformed Signal
    /// a.k.a `Rx.flatMap()`
    public func map<U>(transformToSignal: T -> Signal<U>) -> Signal<U>
    {
        return Signal<U> { progress, fulfill, reject, configure in
            
            self.progress { (_, progressValue: T) in
                transformToSignal(progressValue).progress { (_, progressValue: U) in
                    progress(progressValue)
                }
                return
            }.success { (value: T) -> Void in
                transformToSignal(value).progress { (_, progressValue: U) in
                    fulfill(progressValue)
                }
                return
            }
            
            _bind(nil, reject, configure, self)
