i am interpreting this as "monads are a structural type, not a nominal type".
which to me is an interesting debate given Haskell's emphasis on strong interfaces strictly enforced.
We seem to be converging on a world where we agree that declaring and enforcing types is very important, yet also that it's the structure of the type, not its name, that is most critical. At some point, with sufficiently advanced type inference, do you end up in a world that looks like a lot like fully dynamic languages, where the actual declaration of the type is purely optional?
which to me is an interesting debate given Haskell's emphasis on strong interfaces strictly enforced.
We seem to be converging on a world where we agree that declaring and enforcing types is very important, yet also that it's the structure of the type, not its name, that is most critical. At some point, with sufficiently advanced type inference, do you end up in a world that looks like a lot like fully dynamic languages, where the actual declaration of the type is purely optional?