Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Stream transformations are not our core competency. If Effection is measured by that yard stick, it'll come up short because what we have is 5% implementation of a not-strongly-opinionated stream helpers library. One could very reasonably ask "well where is flatMap(), merge(), reduce(), reduceRight()" and on and on. The answer is that we aren't in that business, and it's better to not play that game at all, than to enter the race and get lapped 20 times.
Our mantra is "Structured Concurrency and Effects for JavaScript". It's a minimalist approach that seeks to excel via maximum compatibility and minimum friction over the long term. Having these as part of our API surface feels like it runs counter to that principle.
Approach
In the spirit of keeping things "core", remove first(), filter(), map(), pipe(), and associated documentation.
They should be published as a separate library where the optimal implementation (if there is one) can be discovered.