 extension SignalProtocol where Error == NoError {
 
   /// Safe error casting from NoError to some Error type.
-  public func castError<E: Swift.Error>() -> Signal<Element, E> {
+  public func castError<E>() -> Signal<Element, E> {
     return Signal { observer in
       return self.observe { event in
         switch event {

  }

  /// Transform each element by applying `transform` on it.
  public func tryMap<U, E: Swift.Error>(_ transform: @escaping (Element) -> Result<U, E>) -> Signal<U, E> {
    return Signal { observer in
      return self.observe { event in
        switch event {

  }

  /// Transform error by applying `transform` on it.
  public func mapError<F>(_ transform: @escaping (Error) -> F) -> Signal<Element, F> {
    return Signal { observer in
      return self.observe { event in
        switch event {
