example 3-4: more concise guards for absolute values