package moe.nea.pcj; import java.util.List; import java.util.Optional; public interface AppendableError> { /** * @return an optional Self with getSuppressed containing the argument */ Optional appendError(Object other); List getSuppressed(); static T concatError(T left, T right) { if (left instanceof AppendableError appendable) { var opt = (Optional) appendable.appendError(right); return opt.orElse(left); } return left; } }