class ListCoder extends IterableLikeCoder<T, List<T>> {

  public static <T> ListCoder<T> of(Coder<T> elemCoder) {
    return new ListCoder<>(elemCoder);
  }

  protected  ListCoder(Coder<T> elemCoder);

}