Interfaces and checked exceptions are like butter and sand: they don't mix well