code: @Nonnull
      public static <T> Function<Pair<? extends T, ?>, ? extends T> fst() {
          return new Function<Pair<? extends T, ?>, T>() {
              @Nullable
              @Override
              public T apply(@Nullable Pair<? extends T, ?> input) {
                  return (input == null) ? null : input.getFirst();
              }
          };
      }
docs: Makes grabbing the first value out of a collection of Pairs a bit easier, e.g.
  given an iterable over Pair.of(String, ?) objects:
  
  <br>
  <code>
  ... = Iterables.transform(iterable, Pair.&lt;String&gt;fst())
  </code>
  
  @param <T> The expected data type of {@link Pair#a}
  @return a Function that returns null or the first value of the Pair, which also may be null