meta (description ( 'Exit\swith\sa\ssimple\smessage\sand\sassociated\sblame. )) ; exit-error := λ(: msg String)(: t AST). (: ( (print msg) (print '\n_s) (print (location-of( t ))) (print '\n_s) (match t ( () ( (App( (Var( 'as_s _ )) (App( inner (AType cast) )) )) ( (print 'In\sCoercion\n_s) (print inner)(print ':\n_s) (print (typeof inner))(print '\n_s) (print 'As:\s_s)(print cast)(print '\n_s) )) ( (App( f a )) ( (print 'In\sFunction\sApplication\n_s) (print f)(print ':\n_s) (print (typeof f))(print '\n_s) (print a)(print ':\n_s) (print (typeof a))(print '\n_s) (print 'Return:\n_s) (print (typeof t))(print '\n_s) )) ( _ ( (print t) (print '\n_s) )) )) (exit 1_u64) ) Nil);