Chapter15 (v12) Pattern guards code