René's URL Explorer Experiment


Title: GitHub - samber/mo: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)

Open Graph Title: GitHub - samber/mo: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)

X Title: GitHub - samber/mo: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)

Description: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...) - samber/mo

Open Graph Description: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...) - samber/mo

X Description: 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...) - samber/mo

Mail addresses
hey@samuel-berthe.fr

Opengraph URL: https://github.com/samber/mo

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:752c3453-51ec-3683-8bc0-76e68b12b69e
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-id8D9A:38B3D7:1C0E573:2559BA0:697D2E7A
html-safe-nonceb58867b9a4ee32057044fbb5cb53db99ba38d894ec877f0223d9d3217f19bac3
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RDlBOjM4QjNENzoxQzBFNTczOjI1NTlCQTA6Njk3RDJFN0EiLCJ2aXNpdG9yX2lkIjoiMzM5NDUzNTcxNDkyNTEyOTMzOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacf490fd837bba156b1f94ad9b773ea0113e569ab2e09dc63df7bad23aaff66198
hovercard-subject-tagrepository:493439811
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/samber/mo
twitter:imagehttps://repository-images.githubusercontent.com/493439811/f3601048-8b5f-4332-a71f-e8d1d2593ffe
twitter:cardsummary_large_image
og:imagehttps://repository-images.githubusercontent.com/493439811/f3601048-8b5f-4332-a71f-e8d1d2593ffe
og:image:alt🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...) - samber/mo
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None947d30920225f8abb17692477afd5992252045b901780d1bc8fa47c03b5fde64
turbo-cache-controlno-preview
go-importgithub.com/samber/mo git https://github.com/samber/mo.git
octolytics-dimension-user_id2951285
octolytics-dimension-user_loginsamber
octolytics-dimension-repository_id493439811
octolytics-dimension-repository_nwosamber/mo
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id493439811
octolytics-dimension-repository_network_root_nwosamber/mo
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release92fcc0e25bb4da7fe9a458840cb7f3cafa272eb8
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/samber/mo#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsamber%2Fmo
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsamber%2Fmo
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=samber%2Fmo
Reloadhttps://patch-diff.githubusercontent.com/samber/mo
Reloadhttps://patch-diff.githubusercontent.com/samber/mo
Reloadhttps://patch-diff.githubusercontent.com/samber/mo
samber https://patch-diff.githubusercontent.com/samber
mohttps://patch-diff.githubusercontent.com/samber/mo
Please reload this pagehttps://patch-diff.githubusercontent.com/samber/mo
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fsamber%2Fmo
Fork 109 https://patch-diff.githubusercontent.com/login?return_to=%2Fsamber%2Fmo
Star 3.3k https://patch-diff.githubusercontent.com/login?return_to=%2Fsamber%2Fmo
pkg.go.dev/github.com/samber/mohttps://pkg.go.dev/github.com/samber/mo
MIT license https://patch-diff.githubusercontent.com/samber/mo/blob/master/LICENSE
3.3k stars https://patch-diff.githubusercontent.com/samber/mo/stargazers
109 forks https://patch-diff.githubusercontent.com/samber/mo/forks
Branches https://patch-diff.githubusercontent.com/samber/mo/branches
Tags https://patch-diff.githubusercontent.com/samber/mo/tags
Activity https://patch-diff.githubusercontent.com/samber/mo/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fsamber%2Fmo
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fsamber%2Fmo
Code https://patch-diff.githubusercontent.com/samber/mo
Issues 13 https://patch-diff.githubusercontent.com/samber/mo/issues
Pull requests 6 https://patch-diff.githubusercontent.com/samber/mo/pulls
Actions https://patch-diff.githubusercontent.com/samber/mo/actions
Security 0 https://patch-diff.githubusercontent.com/samber/mo/security
Insights https://patch-diff.githubusercontent.com/samber/mo/pulse
Code https://patch-diff.githubusercontent.com/samber/mo
Issues https://patch-diff.githubusercontent.com/samber/mo/issues
Pull requests https://patch-diff.githubusercontent.com/samber/mo/pulls
Actions https://patch-diff.githubusercontent.com/samber/mo/actions
Security https://patch-diff.githubusercontent.com/samber/mo/security
Insights https://patch-diff.githubusercontent.com/samber/mo/pulse
Brancheshttps://patch-diff.githubusercontent.com/samber/mo/branches
Tagshttps://patch-diff.githubusercontent.com/samber/mo/tags
https://patch-diff.githubusercontent.com/samber/mo/branches
https://patch-diff.githubusercontent.com/samber/mo/tags
194 Commitshttps://patch-diff.githubusercontent.com/samber/mo/commits/master/
https://patch-diff.githubusercontent.com/samber/mo/commits/master/
.githubhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/.github
.githubhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/.github
eitherhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/either
eitherhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/either
either3https://patch-diff.githubusercontent.com/samber/mo/tree/master/either3
either3https://patch-diff.githubusercontent.com/samber/mo/tree/master/either3
either4https://patch-diff.githubusercontent.com/samber/mo/tree/master/either4
either4https://patch-diff.githubusercontent.com/samber/mo/tree/master/either4
either5https://patch-diff.githubusercontent.com/samber/mo/tree/master/either5
either5https://patch-diff.githubusercontent.com/samber/mo/tree/master/either5
optionhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/option
optionhttps://patch-diff.githubusercontent.com/samber/mo/tree/master/option
resulthttps://patch-diff.githubusercontent.com/samber/mo/tree/master/result
resulthttps://patch-diff.githubusercontent.com/samber/mo/tree/master/result
typeclasshttps://patch-diff.githubusercontent.com/samber/mo/tree/master/typeclass
typeclasshttps://patch-diff.githubusercontent.com/samber/mo/tree/master/typeclass
.gitignorehttps://patch-diff.githubusercontent.com/samber/mo/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/samber/mo/blob/master/.gitignore
LICENSEhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/LICENSE
LICENSEhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/LICENSE
Makefilehttps://patch-diff.githubusercontent.com/samber/mo/blob/master/Makefile
Makefilehttps://patch-diff.githubusercontent.com/samber/mo/blob/master/Makefile
README.mdhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/README.md
do.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do.go
do.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do.go
do_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do_example_test.go
do_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do_example_test.go
do_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do_test.go
do_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/do_test.go
either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either.go
either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either.go
either3.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either3.go
either3.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either3.go
either3_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either3_test.go
either3_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either3_test.go
either4.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either4.go
either4.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either4.go
either4_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either4_test.go
either4_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either4_test.go
either5.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5.go
either5.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5.go
either5_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5_example_test.go
either5_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5_example_test.go
either5_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5_test.go
either5_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either5_test.go
either_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either_example_test.go
either_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either_example_test.go
either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either_test.go
either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/either_test.go
fold.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/fold.go
fold.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/fold.go
fold_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/fold_example_test.go
fold_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/fold_example_test.go
future.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future.go
future.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future.go
future_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future_example_test.go
future_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future_example_test.go
future_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future_test.go
future_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/future_test.go
go.modhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/go.mod
go.modhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/go.mod
go.sumhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/go.sum
go.sumhttps://patch-diff.githubusercontent.com/samber/mo/blob/master/go.sum
io.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io.go
io.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io.go
io_either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either.go
io_either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either.go
io_either_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either_example_test.go
io_either_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either_example_test.go
io_either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either_test.go
io_either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_either_test.go
io_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_example_test.go
io_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_example_test.go
io_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_test.go
io_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/io_test.go
main_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/main_test.go
main_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/main_test.go
option.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option.go
option.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option.go
option_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_example_test.go
option_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_example_test.go
option_go118.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_go118.go
option_go118.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_go118.go
option_go122.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_go122.go
option_go122.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_go122.go
option_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_test.go
option_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/option_test.go
result.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result.go
result.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result.go
result_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result_example_test.go
result_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result_example_test.go
result_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result_test.go
result_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/result_test.go
state.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/state.go
state.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/state.go
task.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task.go
task.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task.go
task_either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_either.go
task_either.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_either.go
task_either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_either_test.go
task_either_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_either_test.go
task_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_example_test.go
task_example_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_example_test.go
task_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_test.go
task_test.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/task_test.go
types.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/types.go
types.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/types.go
utils.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/utils.go
utils.gohttps://patch-diff.githubusercontent.com/samber/mo/blob/master/utils.go
READMEhttps://patch-diff.githubusercontent.com/samber/mo
MIT licensehttps://patch-diff.githubusercontent.com/samber/mo
https://patch-diff.githubusercontent.com/samber/mo#mo---monads
https://github.com/samber/mo/releases
https://camo.githubusercontent.com/9a157336f194f738867775e3bd1f36506bb2e9b92a36a1d0d1b7965b595678c2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f476f2d253345253344253230312e31382d253233303037643963
https://pkg.go.dev/github.com/samber/mo
https://github.com/samber/mo/actions/workflows/test.yml/badge.svg
https://goreportcard.com/report/github.com/samber/mo
https://codecov.io/gh/samber/mo
https://patch-diff.githubusercontent.com/samber/mo/blob/master/LICENSE
samber/rohttps://github.com/samber/ro
samber/lohttps://github.com/samber/lo
samber/dohttps://github.com/samber/do
https://patch-diff.githubusercontent.com/samber/mo#-support-this-project
individual sponsorhttp://github.com/sponsors/samber
https://private-user-images.githubusercontent.com/2951285/462777536-1fc0f996-2a79-43e3-8db7-11e1409aca46.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njk4MTE4NzgsIm5iZiI6MTc2OTgxMTU3OCwicGF0aCI6Ii8yOTUxMjg1LzQ2Mjc3NzUzNi0xZmMwZjk5Ni0yYTc5LTQzZTMtOGRiNy0xMWUxNDA5YWNhNDYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDEzMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAxMzBUMjIxOTM4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzYxNmE5NDBmYWE2OWNhYjM3ZDc5N2Y4MGNiZThlYWIwM2M5MTczNTFjNWE3YjgzNmRhN2UzMzczZWYzNjY5NiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.aPvkMkvXcEEF8bCkNgttz0EH7tG1SFvjOsTnxodtrIM
https://patch-diff.githubusercontent.com/samber/mo#-features
https://patch-diff.githubusercontent.com/samber/mo#-install
https://patch-diff.githubusercontent.com/samber/mo#-quick-start
documentationhttps://godoc.org/github.com/samber/mo
https://patch-diff.githubusercontent.com/samber/mo#tips-for-lazy-developers
https://patch-diff.githubusercontent.com/samber/mo#-documentation-and-examples
GoDoc: https://godoc.org/github.com/samber/mohttps://godoc.org/github.com/samber/mo
https://patch-diff.githubusercontent.com/samber/mo#optiont-any
dochttps://pkg.go.dev/github.com/samber/mo#Some
playhttps://go.dev/play/p/iqz2n9n0tDM
dochttps://pkg.go.dev/github.com/samber/mo#None
playhttps://go.dev/play/p/yYQPsYCSYlD
dochttps://pkg.go.dev/github.com/samber/mo#TupleToOption
playhttps://go.dev/play/p/gkrg2pZwOty
dochttps://pkg.go.dev/github.com/samber/mo#EmptyableToOption
playhttps://go.dev/play/p/GSpQQ-q-UES
dochttps://pkg.go.dev/github.com/samber/mo#PointerToOption
playhttps://go.dev/play/p/yPVMj4DUb-I
dochttps://pkg.go.dev/github.com/samber/mo#Option.IsPresent
playhttps://go.dev/play/p/nDqIaiihyCA
dochttps://pkg.go.dev/github.com/samber/mo#Option.IsSome
playhttps://go.dev/play/p/DyvGRy7fP9m
dochttps://pkg.go.dev/github.com/samber/mo#Option.IsAbsent
playhttps://go.dev/play/p/23e2zqyVOQm
dochttps://pkg.go.dev/github.com/samber/mo#Option.IsNone
playhttps://go.dev/play/p/EdqxKhborIP
dochttps://pkg.go.dev/github.com/samber/mo#Option.Size
playhttps://go.dev/play/p/7ixCNG1E9l7
dochttps://pkg.go.dev/github.com/samber/mo#Option.Get
playhttps://go.dev/play/p/0-JBa1usZRT
dochttps://pkg.go.dev/github.com/samber/mo#Option.MustGet
playhttps://go.dev/play/p/RVBckjdi5WR
dochttps://pkg.go.dev/github.com/samber/mo#Option.OrElse
playhttps://go.dev/play/p/TrGByFWCzXS
dochttps://pkg.go.dev/github.com/samber/mo#Option.OrEmpty
playhttps://go.dev/play/p/SpSUJcE-tQm
dochttps://pkg.go.dev/github.com/samber/mo#Option.ToPointer
playhttps://go.dev/play/p/KJc2Pv3KNPW
dochttps://pkg.go.dev/github.com/samber/mo#Option.ForEach
dochttps://pkg.go.dev/github.com/samber/mo#Option.Match
playhttps://go.dev/play/p/1V6st3LDJsM
dochttps://pkg.go.dev/github.com/samber/mo#Option.Map
playhttps://go.dev/play/p/mvfP3pcP_eJ
dochttps://pkg.go.dev/github.com/samber/mo#Option.MapNone
playhttps://go.dev/play/p/_KaHWZ6Q17b
dochttps://pkg.go.dev/github.com/samber/mo#Option.MapValue
dochttps://pkg.go.dev/github.com/samber/mo#Option.FlatMap
playhttps://go.dev/play/p/OXO-zJx6n5r
dochttps://pkg.go.dev/github.com/samber/mo#Option.MarshalJSON
dochttps://pkg.go.dev/github.com/samber/mo#Option.UnmarshalJSON
dochttps://pkg.go.dev/github.com/samber/mo#Option.MarshalText
dochttps://pkg.go.dev/github.com/samber/mo#Option.UnmarshalText
dochttps://pkg.go.dev/github.com/samber/mo#Option.MarshalBinary
dochttps://pkg.go.dev/github.com/samber/mo#Option.UnmarshalBinary
dochttps://pkg.go.dev/github.com/samber/mo#Option.GobEncode
dochttps://pkg.go.dev/github.com/samber/mo#Option.GobDecode
dochttps://pkg.go.dev/github.com/samber/mo#Option.Scan
dochttps://pkg.go.dev/github.com/samber/mo#Option.Value
dochttps://pkg.go.dev/github.com/samber/mo#Fold
dochttps://pkg.go.dev/github.com/samber/mo/option#Map
dochttps://pkg.go.dev/github.com/samber/mo/option#FlatMap
dochttps://pkg.go.dev/github.com/samber/mo/option#Match
dochttps://pkg.go.dev/github.com/samber/mo/option#FlatMatch
docshttps://pkg.go.dev/github.com/samber/mo/option#Pipe1
https://patch-diff.githubusercontent.com/samber/mo#resultt-any
dochttps://pkg.go.dev/github.com/samber/mo#Ok
playhttps://go.dev/play/p/PDwADdzNoyZ
dochttps://pkg.go.dev/github.com/samber/mo#Err
playhttps://go.dev/play/p/PDwADdzNoyZ
dochttps://pkg.go.dev/github.com/samber/mo#Errf
playhttps://go.dev/play/p/N43w92SM-Bs
dochttps://pkg.go.dev/github.com/samber/mo#TupleToResult
playhttps://go.dev/play/p/KWjfqQDHQwa
dochttps://pkg.go.dev/github.com/samber/mo#Try
playhttps://go.dev/play/p/ilOlQx-Mx42
dochttps://pkg.go.dev/github.com/samber/mo#Result.IsOk
playhttps://go.dev/play/p/sfNvBQyZfgU
dochttps://pkg.go.dev/github.com/samber/mo#Result.IsError
playhttps://go.dev/play/p/xkV9d464scV
dochttps://pkg.go.dev/github.com/samber/mo#Result.Error
playhttps://go.dev/play/p/CSkHGTyiXJ5
dochttps://pkg.go.dev/github.com/samber/mo#Result.Get
playhttps://go.dev/play/p/8KyX3z6TuNo
dochttps://pkg.go.dev/github.com/samber/mo#Result.MustGet
playhttps://go.dev/play/p/8LSlndHoTAE
dochttps://pkg.go.dev/github.com/samber/mo#Result.OrElse
playhttps://go.dev/play/p/MN_ULx0soi6
dochttps://pkg.go.dev/github.com/samber/mo#Result.OrEmpty
playhttps://go.dev/play/p/rdKtBmOcMLh
dochttps://pkg.go.dev/github.com/samber/mo#Result.ToEither
playhttps://go.dev/play/p/Uw1Zz6b952q
dochttps://pkg.go.dev/github.com/samber/mo#Result.ForEach
playhttps://go.dev/play/p/Z59EvNdWoRx
dochttps://pkg.go.dev/github.com/samber/mo#Result.Match
playhttps://go.dev/play/p/-_eFaLJ31co
dochttps://pkg.go.dev/github.com/samber/mo#Result.Map
playhttps://go.dev/play/p/-ndpN_b_OSc
dochttps://pkg.go.dev/github.com/samber/mo#Result.MapValue
playhttps://go.dev/play/p/qyyjUP4XbK2
dochttps://pkg.go.dev/github.com/samber/mo#Result.MapErr
playhttps://go.dev/play/p/WraZixg9GGf
dochttps://pkg.go.dev/github.com/samber/mo#Result.FlatMap
playhttps://go.dev/play/p/Ud5QjZOqg-7
dochttps://pkg.go.dev/github.com/samber/mo#Fold
dochttps://pkg.go.dev/github.com/samber/mo#Do
dochttps://pkg.go.dev/github.com/samber/mo/result#Map
dochttps://pkg.go.dev/github.com/samber/mo/result#FlatMap
dochttps://pkg.go.dev/github.com/samber/mo/result#Match
dochttps://pkg.go.dev/github.com/samber/mo/result#FlatMatch
docshttps://pkg.go.dev/github.com/samber/mo/result#Pipe1
https://patch-diff.githubusercontent.com/samber/mo#eitherl-any-r-any
dochttps://pkg.go.dev/github.com/samber/mo#Left
dochttps://pkg.go.dev/github.com/samber/mo#Right
dochttps://pkg.go.dev/github.com/samber/mo#Either.IsLeft
dochttps://pkg.go.dev/github.com/samber/mo#Either.IsRight
dochttps://pkg.go.dev/github.com/samber/mo#Either.Left
dochttps://pkg.go.dev/github.com/samber/mo#Either.Right
dochttps://pkg.go.dev/github.com/samber/mo#Either.MustLeft
dochttps://pkg.go.dev/github.com/samber/mo#Either.MustRight
dochttps://pkg.go.dev/github.com/samber/mo#Either.Unpack
dochttps://pkg.go.dev/github.com/samber/mo#Either.LeftOrElse
dochttps://pkg.go.dev/github.com/samber/mo#Either.RightOrElse
dochttps://pkg.go.dev/github.com/samber/mo#Either.LeftOrEmpty
dochttps://pkg.go.dev/github.com/samber/mo#Either.RightOrEmpty
dochttps://pkg.go.dev/github.com/samber/mo#Either.Swap
dochttps://pkg.go.dev/github.com/samber/mo#Either.ForEach
dochttps://pkg.go.dev/github.com/samber/mo#Either.Match
dochttps://pkg.go.dev/github.com/samber/mo#Either.MapLeft
dochttps://pkg.go.dev/github.com/samber/mo#Either.MapRight
dochttps://pkg.go.dev/github.com/samber/mo#Fold
dochttps://pkg.go.dev/github.com/samber/mo/either#MapLeft
dochttps://pkg.go.dev/github.com/samber/mo/either#MapRight
dochttps://pkg.go.dev/github.com/samber/mo/either#Match
dochttps://pkg.go.dev/github.com/samber/mo/either#Swap
docshttps://pkg.go.dev/github.com/samber/mo/either#Pipe1
https://patch-diff.githubusercontent.com/samber/mo#eitherxt1--tx-with-x-between-3-and-5
dochttps://pkg.go.dev/github.com/samber/mo#NewEither5Arg1
dochttps://pkg.go.dev/github.com/samber/mo#Either5.IsArg1
dochttps://pkg.go.dev/github.com/samber/mo#Either5.Arg1
dochttps://pkg.go.dev/github.com/samber/mo#Either5.MustArg1
dochttps://pkg.go.dev/github.com/samber/mo#Either5.Unpack
dochttps://pkg.go.dev/github.com/samber/mo#Either5.Arg1OrElse
dochttps://pkg.go.dev/github.com/samber/mo#Either5.Arg1OrEmpty
dochttps://pkg.go.dev/github.com/samber/mo#Either5.ForEach
dochttps://pkg.go.dev/github.com/samber/mo#Either5.Match
dochttps://pkg.go.dev/github.com/samber/mo#Either5.MapArg1
https://pkg.go.dev/github.com/samber/mo/either3https://pkg.go.dev/github.com/samber/mo/either3
dochttps://pkg.go.dev/github.com/samber/mo/either3#Match
dochttps://pkg.go.dev/github.com/samber/mo/either3#MapArg1
dochttps://pkg.go.dev/github.com/samber/mo/either3#MapArg2
dochttps://pkg.go.dev/github.com/samber/mo/either3#MapArg3
docshttps://pkg.go.dev/github.com/samber/mo/either3#Pipe1
https://pkg.go.dev/github.com/samber/mo/either4https://pkg.go.dev/github.com/samber/mo/either4
dochttps://pkg.go.dev/github.com/samber/mo/either4#Match
dochttps://pkg.go.dev/github.com/samber/mo/either4#MapArg1
dochttps://pkg.go.dev/github.com/samber/mo/either4#MapArg2
dochttps://pkg.go.dev/github.com/samber/mo/either4#MapArg3
docshttps://pkg.go.dev/github.com/samber/mo/either4#Pipe1
https://pkg.go.dev/github.com/samber/mo/either5https://pkg.go.dev/github.com/samber/mo/either5
dochttps://pkg.go.dev/github.com/samber/mo/either5#Match
dochttps://pkg.go.dev/github.com/samber/mo/either5#MapArg1
dochttps://pkg.go.dev/github.com/samber/mo/either5#MapArg2
dochttps://pkg.go.dev/github.com/samber/mo/either5#MapArg3
docshttps://pkg.go.dev/github.com/samber/mo/either5#Pipe1
https://patch-diff.githubusercontent.com/samber/mo#futuret-any
dochttps://pkg.go.dev/github.com/samber/mo#NewFuture
dochttps://pkg.go.dev/github.com/samber/mo#Future.Then
dochttps://pkg.go.dev/github.com/samber/mo#Future.Catch
dochttps://pkg.go.dev/github.com/samber/mo#Future.Finally
dochttps://pkg.go.dev/github.com/samber/mo#Future.Collect
dochttps://pkg.go.dev/github.com/samber/mo#Future.Result
dochttps://pkg.go.dev/github.com/samber/mo#Future.Cancel
https://patch-diff.githubusercontent.com/samber/mo#iot-any
dochttps://pkg.go.dev/github.com/samber/mo#NewIO
dochttps://pkg.go.dev/github.com/samber/mo#NewIO1
dochttps://pkg.go.dev/github.com/samber/mo#NewIO2
dochttps://pkg.go.dev/github.com/samber/mo#NewIO3
dochttps://pkg.go.dev/github.com/samber/mo#NewIO4
dochttps://pkg.go.dev/github.com/samber/mo#NewIO5
dochttps://pkg.go.dev/github.com/samber/mo#Future.Run
https://patch-diff.githubusercontent.com/samber/mo#ioeithert-any
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither1
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither2
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither3
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither4
dochttps://pkg.go.dev/github.com/samber/mo#NewIOEither5
dochttps://pkg.go.dev/github.com/samber/mo#IOEither.Run
https://patch-diff.githubusercontent.com/samber/mo#taskt-any
dochttps://pkg.go.dev/github.com/samber/mo#NewTask
dochttps://pkg.go.dev/github.com/samber/mo#NewTask1
dochttps://pkg.go.dev/github.com/samber/mo#NewTask2
dochttps://pkg.go.dev/github.com/samber/mo#NewTask3
dochttps://pkg.go.dev/github.com/samber/mo#NewTask4
dochttps://pkg.go.dev/github.com/samber/mo#NewTask5
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO1
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO2
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO3
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO4
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskFromIO5
dochttps://pkg.go.dev/github.com/samber/mo#Task.Run
https://patch-diff.githubusercontent.com/samber/mo#taskeithert-any
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskEither
dochttps://pkg.go.dev/github.com/samber/mo#NewTaskEitherFromIOEither
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Run
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.OrElse
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Match
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.TryCatch
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.ToTask
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.ToEither
https://patch-diff.githubusercontent.com/samber/mo#states-any-a-any
dochttps://pkg.go.dev/github.com/samber/mo#NewState
dochttps://pkg.go.dev/github.com/samber/mo#ReturnState
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Run
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Get
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Modify
dochttps://pkg.go.dev/github.com/samber/mo#TaskEither.Put
https://patch-diff.githubusercontent.com/samber/mo#foldablet-u
dochttps://pkg.go.dev/github.com/samber/mo#Fold
https://patch-diff.githubusercontent.com/samber/mo#-benchmark
https://patch-diff.githubusercontent.com/samber/mo#-contributing
@samuelberthehttps://twitter.com/samuelberthe
projecthttps://github.com/samber/mo
open issueshttps://github.com/samber/mo/issues
https://patch-diff.githubusercontent.com/samber/mo#-contributors
https://camo.githubusercontent.com/ae1e07cabf536323511125a94096cadda4867324aee1f3c9b704556119c3bf07/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d73616d6265722f6d6f
https://patch-diff.githubusercontent.com/samber/mo#-show-your-support
https://github.com/sponsors/samber
https://patch-diff.githubusercontent.com/samber/mo#-license
Samuel Berthehttps://github.com/samber
MIThttps://patch-diff.githubusercontent.com/samber/mo/blob/master/LICENSE
pkg.go.dev/github.com/samber/mohttps://pkg.go.dev/github.com/samber/mo
cats https://patch-diff.githubusercontent.com/topics/cats
go https://patch-diff.githubusercontent.com/topics/go
golang https://patch-diff.githubusercontent.com/topics/golang
task https://patch-diff.githubusercontent.com/topics/task
functional https://patch-diff.githubusercontent.com/topics/functional
programming https://patch-diff.githubusercontent.com/topics/programming
state https://patch-diff.githubusercontent.com/topics/state
fp https://patch-diff.githubusercontent.com/topics/fp
generics https://patch-diff.githubusercontent.com/topics/generics
monad https://patch-diff.githubusercontent.com/topics/monad
io https://patch-diff.githubusercontent.com/topics/io
monoid https://patch-diff.githubusercontent.com/topics/monoid
typesafe https://patch-diff.githubusercontent.com/topics/typesafe
future https://patch-diff.githubusercontent.com/topics/future
optional https://patch-diff.githubusercontent.com/topics/optional
option https://patch-diff.githubusercontent.com/topics/option
result https://patch-diff.githubusercontent.com/topics/result
maybe https://patch-diff.githubusercontent.com/topics/maybe
either https://patch-diff.githubusercontent.com/topics/either
Readme https://patch-diff.githubusercontent.com/samber/mo#readme-ov-file
MIT license https://patch-diff.githubusercontent.com/samber/mo#MIT-1-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/samber/mo
Activityhttps://patch-diff.githubusercontent.com/samber/mo/activity
3.3k starshttps://patch-diff.githubusercontent.com/samber/mo/stargazers
20 watchinghttps://patch-diff.githubusercontent.com/samber/mo/watchers
109 forkshttps://patch-diff.githubusercontent.com/samber/mo/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fsamber%2Fmo&report=samber+%28user%29
Releases 21https://patch-diff.githubusercontent.com/samber/mo/releases
v1.16.0 Latest Sep 25, 2025 https://patch-diff.githubusercontent.com/samber/mo/releases/tag/v1.16.0
+ 20 releaseshttps://patch-diff.githubusercontent.com/samber/mo/releases
Please reload this pagehttps://patch-diff.githubusercontent.com/samber/mo
Learn more about GitHub Sponsorshttps://patch-diff.githubusercontent.com/sponsors
Used by 410https://patch-diff.githubusercontent.com/samber/mo/network/dependents
+ 402 https://patch-diff.githubusercontent.com/samber/mo/network/dependents
Contributors 15https://patch-diff.githubusercontent.com/samber/mo/graphs/contributors
https://github.com/samber
https://github.com/taman9333
https://github.com/apps/dependabot
https://github.com/CorentinClabaut
https://github.com/snyk-bot
https://github.com/gkdr
https://github.com/mtsoltan
https://github.com/EwenQuim
https://github.com/matbur
https://github.com/yonesko
https://github.com/vkaverin
https://github.com/clintrovert
https://github.com/akaswenwilk
https://github.com/ss49919201
https://github.com/joel-u410
Go 99.6% https://patch-diff.githubusercontent.com/samber/mo/search?l=go
Makefile 0.4% https://patch-diff.githubusercontent.com/samber/mo/search?l=makefile
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.