- type of strings are left implicit - type of implicitly-typed params uses the type of the default value - prevent exponential blowup for large ternary expressions