use non-snapshot exceptional4j