Rename cause -> exception and make exception optional.