import { Stream, streamOps } from '../xs' import { $ } from './typeclasses' import { FunctorInstances, map } from './typeclasses/functor' class StreamT { value: $> constructor(v: $>) { this.value = v } map(f: (a: A) => B): StreamT { return new StreamT( map((s: $) => streamOps.map(f, s), this.value) ) } }