Add exceptions with arrows and mutual type recursion