public static <E> FList<E> createFromReversed(Iterable<? extends E> from) {
    FList<E> result = emptyList();
    for (E e : from) {
      result = result.prepend(e);
    }
    return result;
  }
public static <E> FList<E> createFromReversed(Iterable<? extends E> from)