     
     public func map<F>(f: E -> F) -> Stream<ArrayView<F>> {
         return Streams.pure(ArrayView<F>())
+    }
+
+    public func map<F>(f: E -> F, _ context: ExecutionContext) -> ArrayView<F> {
+        return ArrayView<F>()
     }
 
     // TODO Swift compiler does'nt support overriding getter/setter yet

        }
    }

    public func bimap<F>(f: E -> F, _ g: F -> E, _ context: ExecutionContext) -> ArrayCollection<F> {
        let peer = ArrayCollection<F>(raw.map(f))
        setMappingBetween2(self, peer, { $0.map { $0.map(f) } }, context)

        return peer
    }

    public func bimap<F>(f: E -> F, _ g: F -> E) -> Stream<ArrayCollection<F>> {
        return Streams.exec(ArrayCollection<F>(raw.map(f))).flatMap { peer in
            Streams.mix([
                Streams.pure(peer),
                setMappingBetween2(self, peer, { $0.map { $0.map(f) } }),
                setMappingBetween2(peer, self, { $0.map { $0.map(g) } }),
            ])
        }
    }
