---
title: "Discussion on \"Practical Guide to Fp-ts P5: Apply, Sequences, and Traversals\" | Hashnode"
description: "Discussion on \"Practical Guide to Fp-ts P5: Apply, Sequences, and Traversals\". Learn how to use Fp-ts practically. Introduces apply, applicatives, sequences, and traversals."
url: "https://hashnode.com/posts/practical-guide-to-fp-ts-part-5/6071bd511494367be6d29fcf"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Practical Guide to Fp-ts P5: Apply, Sequences, and Traversals](https://rlee.dev/practical-guide-to-fp-ts-part-5?utm_source=hashnode&utm_medium=feed)

Learn how to use Fp-ts practically. Introduces apply, applicatives, sequences, and traversals.

Oct 1, 2020 · 7 min read · rlee.dev  
Updated Apr 14, 2024  
Read the article

-   [#functional-programming](https://hashnode.com/tag/functional-programming)
-   [#typescript](https://hashnode.com/tag/typescript)

## Written by

[Ryan Lee](https://hashnode.com/@ryanleecode)

@ryanleecode · Toronto, CA

  
[View profile](https://hashnode.com/@ryanleecode)

Full Stack Developer writing about functional programming, AI, and blockchain.

## Responses 2

Markdown supported · ⌘↵ to post

[David Novák](https://hashnode.com/@kaladivo)

[Apr 4, 2023](https://hashnode.com/posts/practical-guide-to-fp-ts-part-5/6071bd511494367be6d29fcf/comment/642be9ccae2a7e0743394182)

So far I was able to get around this error by manually specifying error types:

sequenceS(E.either as E.as apply.Apply2C< 'Either', ValidateEmailError | ValidatePasswordError)({ email: validateEmail(email), password: validatePassword(password), })

But it still is not pretty.

[David Novák](https://hashnode.com/@kaladivo)

[Apr 4, 2023](https://hashnode.com/posts/practical-guide-to-fp-ts-part-5/6071bd511494367be6d29fcf/comment/642be27c39fb0f053a106729)

The problem with this code:

sequenceS(E.either)({ email: validateEmail(email), password: validatePassword(password), })

Is if validateEmail and validatePassword has different left types it wont compile.

Is there a way around this?
