In addition to things like IO.is(x) to determine if x is an IO monad instance, we can add Symbol.hasInstance to all the monad definitions so that a more ergonomic x isntanceof IO check will work properly.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance
In addition to things like
IO.is(x)to determine ifxis an IO monad instance, we can addSymbol.hasInstanceto all the monad definitions so that a more ergonomicx isntanceof IOcheck will work properly.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance