Functional programming with fp-ts by its author Giulio Canti Interoperability with non functional code using fp-ts Functional design Combinators How to make the time combinator more general Tagless finale Smart constructors TDD in TS ADT Optics HKT Basic abstractions Should I use fp-ts Option? What is wrong with optional chaining and how to fix it Setoid Ord Semigroup Monoid Property based testing Either vs Validation Category Getting started Functor Applicative Monad IO Examples Code convention Recipes Learning resources