@juszczakn I think it is best to just return as fail!() would print out a scary looking error message, which might frighten the end user.  Further, fail!() seems more like it should be for catastrophic failures internal to the program.