laws from applicative programming with effects