- domain/codomain
- deterministic
def blah1() = if(false) throw new Exception else 2
def blah2() = {
val a = throw new Exception
if(false) a else 2
}
// blah1(): 2
// blah2(): java.lang.Exception at ...a + identity == a # Left identity
identity + a == a # Right identitya + b == b + aa + ( b + c ) == (a + b ) + c a + a == a