Functions with arity and distinguished else and else ifs