Rework switch rule, extend function pointer explanation