This coercion bugs me a little as it causes the watcher to get triggered twice if isOpen is set to a truthy value that's not `true`.

Say `isOpen = "abc"`, first digest is set to `!!"abc"` which is `true`, watcher runs again because the isOpen changed from "abc" to `true`.