code: @Nonnull
  	public static <T, R> Function<T, R> functionFrom(Consumer<FunctionBuilder<T, R>> buildingFunction) {
  		FunctionBuilder builder = new FunctionBuilder();
  		buildingFunction.accept(builder);
  		return builder.build();
  	}
docs: One of ways of creating builder. This is possibly the least verbose way where compiler should be able to guess the generic parameters.