What's the purpose of `widen` in Arrow? A lot of i...
# arrow
y
What's the purpose of
widen
in Arrow? A lot of its implementations just return the receiver immediately because of how variance works already. Is there a reason to keep it?
👀 1
s
Hmm, not 100%. I've stared at this function a lot to remove it 😂, is it not deprecated? Doing a quick google search, it seems that it was actually meant for
Functor
since
Functor
is not covariant. So that makes sense, so you use
widen
for what you'd normally rely on covariance. We have covariance everywhere, so we get automatic widening from the type system. So if it's not yet deprecated I think it should be. cc\\ @Alejandro Serrano.Mena
y