Does `exception` still need a default value since you've updated all the failure! calls?