use `abort(fun.pos, "...")` rather than `sys.error`.