Remove the possibility to override types
Use Error.fail everywhere and fix some mistakes for errors handling