For Monad to make sense, types cannot be ignored. That is why join is being misunderstood.
I have not watched Professor Frisby's explanation so I have no comment there.
Eric Elliot misunderstands join in his article you linked. I'll try and get in touch.
monet.js does it right. Read carefully what the type of join is.
James Sinclair describes join accurately and then, following that, explains why emit cannot be defined for Maybe. I recommend rereading his work carefully.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.