Philosophy on Type Widening Folds in Effect
In fp-ts, functions don't widen types by default, like
pipe(E.right("hello"), E.getOrElse(constUndefined)) would produce a type error because string is not assignable to undefined. To widen the types, a user must explicitly use the corresponding function with a W-suffix (for Widen). I noticed that types seem to be widened by default in Effect. What is the philosophy here, and is there a stricter mode I can use or something?