djspiewak/emm

Idea: flipping

Opened this issue · 0 comments

This might be an interesting function:

val e1: Emm[Task |: List |: Option |: Base, A] = ???
e1.flip[List, Option]   // => Emm[Task |: Option |: List |: Base, A]

val e2: Emm[Task |: List |: (String \/ ? ) |: Option |: Base, A] = ???
e2.flip[List, Option]   // => Emm[Task |: Option |: (String \/ ?) |: List |: Base, A]

Should be implementable for any useful stack, since we just need to traverse things to flip around.