One of ways of creating builder. In most cases (considering all _functional_ builders) it requires to provide generic parameters (in most cases redundantly)
551601
@Nonnull
	public static <T1, T2, T3, R> LTriFunctionBuilder<T1, T2, T3, R> triFunction() {
		return new LTriFunctionBuilder();
	}
71136
@Nonnull
	public static <T, R> LObjLongFunctionBuilder<T, R> objLongFunction(Consumer<LObjLongFunction<T, R>> consumer) {
		return new LObjLongFunctionBuilder(consumer);
	}
1136873
@Nonnull
	public static <T> LToSrtFunctionBuilder<T> toSrtFunction(Consumer<LToSrtFunction<T>> consumer) {
		return new LToSrtFunctionBuilder(consumer);
	}
724429
@Nonnull
	public static LSrtToIntFunction srtToIntFunctionFrom(Consumer<LSrtToIntFunctionBuilder> buildingFunction) {
		LSrtToIntFunctionBuilder builder = new LSrtToIntFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
722802
@Nonnull
	public static LByteToDblFunction byteToDblFunctionFrom(Consumer<LByteToDblFunctionBuilder> buildingFunction) {
		LByteToDblFunctionBuilder builder = new LByteToDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
639018
@Nonnull
	public static LFltToDblFunction fltToDblFunctionFrom(Consumer<LFltToDblFunctionBuilder> buildingFunction) {
		LFltToDblFunctionBuilder builder = new LFltToDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
709501
@Nonnull
	public static LByteToFltFunction byteToFltFunctionFrom(Consumer<LByteToFltFunctionBuilder> buildingFunction) {
		LByteToFltFunctionBuilder builder = new LByteToFltFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
768143
@Nonnull
	public static <T1, T2, R> LBiObjIntFunction<T1, T2, R> biObjIntFunctionFrom(Consumer<LBiObjIntFunctionBuilder<T1, T2, R>> buildingFunction) {
		LBiObjIntFunctionBuilder builder = new LBiObjIntFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
104551
@Nonnull
	public static <T, R> FunctionBuilder<T, R> function(Consumer<Function<T, R>> consumer) {
		return new FunctionBuilder(consumer);
	}
1298046
@Nonnull
	public static LLongToDblFunction longToDblFunctionFrom(Consumer<LLongToDblFunctionBuilder> buildingFunction) {
		LLongToDblFunctionBuilder builder = new LLongToDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
550462
@Nonnull
	public static <T1, T2> LToFltBiFunctionBuilder<T1, T2> toFltBiFunction(Consumer<LToFltBiFunction<T1, T2>> consumer) {
		return new LToFltBiFunctionBuilder(consumer);
	}
1346805
@Nonnull
	public static <T> LConsumer<T> consumerFrom(Consumer<LConsumerBuilder<T>> buildingFunction) {
		LConsumerBuilder builder = new LConsumerBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
699841
@Nonnull
	public static <T> ToIntFunctionBuilder<T> toIntFunction(Consumer<ToIntFunction<T>> consumer) {
		return new ToIntFunctionBuilder(consumer);
	}
246734
@Nonnull
	public static <T, R> LObjIntBoolFunction<T, R> objIntBoolFunctionFrom(Consumer<LObjIntBoolFunctionBuilder<T, R>> buildingFunction) {
		LObjIntBoolFunctionBuilder builder = new LObjIntBoolFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
1141826
@Nonnull
	public static <T> LToFltFunction<T> toFltFunctionFrom(Consumer<LToFltFunctionBuilder<T>> buildingFunction) {
		LToFltFunctionBuilder builder = new LToFltFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
803988
@Nonnull
	public static <T, R> LObjFltFunctionBuilder<T, R> objFltFunction(Consumer<LObjFltFunction<T, R>> consumer) {
		return new LObjFltFunctionBuilder(consumer);
	}
987334
@Nonnull
	public static <R> LBiFltFunction<R> biFltFunctionFrom(Consumer<LBiFltFunctionBuilder<R>> buildingFunction) {
		LBiFltFunctionBuilder builder = new LBiFltFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}