: ignore-errors ( quot -- )
[ drop ] recover ; inline
+: ignore-error ( quot check: ( error -- ? ) -- )
+ [ dup ] prepose [ [ drop ] [ rethrow ] if ] compose
+ recover ; inline
+
+: ignore-error/f ( quot check: ( error -- ? ) -- )
+ [ dup ] prepose [ [ drop f ] [ rethrow ] if ] compose
+ recover ; inline
+
: cleanup ( try cleanup-always cleanup-error -- )
[ compose [ dip rethrow ] curry recover ] [ drop ] 2bi call ; inline