Typescript functional programming library inspired by Haskell and PureScript providing both runtime type checking and functional algebraic data types.