https://blog.yoshuawuyts.com/a-with-based-effect-notation