code: private static List<String> strings(final List<IOException> failures) {
          final List<String> result = new ArrayList<>(failures.size());
          final Iterable<String> transform = new Transform<>(
              failures,
              new TransformAction<IOException, String>() {
                  @Override
                  public String transform(final IOException element) {
                      final Opt<String> message = new Opt.Single<>(
                          element.getMessage()
                      );
                      String result = "";
                      if (message.has()) {
                          result = message.get();
                      }
                      return result;
                  }
              }
          );
          final Iterator<String> messages = transform.iterator();
          while (messages.hasNext()) {
              result.add(messages.next());
          }
          return result;
      }
docs: Transforms a list of exceptions and returns a list of messages.
  @param failures Input : a list of exceptions.
  @return A list of exceptions messages.