One of ways of creating builder. This is possibly the least verbose way where compiler should be able to guess the generic parameters.
970023
@Nonnull
	public static <T> Predicate<T> predicateFrom(Consumer<PredicateBuilder<T>> buildingFunction) {
		PredicateBuilder builder = new PredicateBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
1124563
@Nonnull
	public static <T> UnaryOperator<T> unaryOperatorFrom(Consumer<UnaryOperatorBuilder<T>> buildingFunction) {
		UnaryOperatorBuilder builder = new UnaryOperatorBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
944596
@Nonnull
	public static <T, R> LObjByteFunction<T, R> objByteFunctionFrom(Consumer<LObjByteFunctionBuilder<T, R>> buildingFunction) {
		LObjByteFunctionBuilder builder = new LObjByteFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
881065
@Nonnull
	public static <T> BinaryOperator<T> binaryOperatorFrom(Consumer<BinaryOperatorBuilder<T>> buildingFunction) {
		BinaryOperatorBuilder builder = new BinaryOperatorBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
280359
@Nonnull
	public static LBoolToDblFunction boolToDblFunctionFrom(Consumer<LBoolToDblFunctionBuilder> buildingFunction) {
		LBoolToDblFunctionBuilder builder = new LBoolToDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
164614
@Nonnull
	public static <T> LObjIntConsumer<T> objIntConsumerFrom(Consumer<LObjIntConsumerBuilder<T>> buildingFunction) {
		LObjIntConsumerBuilder builder = new LObjIntConsumerBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
1110590
@Nonnull
	public static LByteToSrtFunction byteToSrtFunctionFrom(Consumer<LByteToSrtFunctionBuilder> buildingFunction) {
		LByteToSrtFunctionBuilder builder = new LByteToSrtFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
357940
@Nonnull
	public static <R> LBoolFunction<R> boolFunctionFrom(Consumer<LBoolFunctionBuilder<R>> buildingFunction) {
		LBoolFunctionBuilder builder = new LBoolFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
158371
@Nonnull
	public static <R> LBiSrtFunction<R> biSrtFunctionFrom(Consumer<LBiSrtFunctionBuilder<R>> buildingFunction) {
		LBiSrtFunctionBuilder builder = new LBiSrtFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
729065
@Nonnull
	public static <T> LObjDblPredicate<T> objDblPredicateFrom(Consumer<LObjDblPredicateBuilder<T>> buildingFunction) {
		LObjDblPredicateBuilder builder = new LObjDblPredicateBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
1096181
@Nonnull
	public static LFltSupplier fltSupplierFrom(Consumer<LFltSupplierBuilder> buildingFunction) {
		LFltSupplierBuilder builder = new LFltSupplierBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
70622
@Nonnull
	public static <T1, T2, R> BiFunction<T1, T2, R> biFunctionFrom(Consumer<BiFunctionBuilder<T1, T2, R>> buildingFunction) {
		BiFunctionBuilder builder = new BiFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
1298046
@Nonnull
	public static LLongToDblFunction longToDblFunctionFrom(Consumer<LLongToDblFunctionBuilder> buildingFunction) {
		LLongToDblFunctionBuilder builder = new LLongToDblFunctionBuilder();
		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();
	}
125029
@Nonnull
	public static IntToDoubleFunction intToDblFunctionFrom(Consumer<IntToDoubleFunctionBuilder> buildingFunction) {
		IntToDoubleFunctionBuilder builder = new IntToDoubleFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
188303
@Nonnull
	public static <T1, T2, R> LBiObjDblFunction<T1, T2, R> biObjDblFunctionFrom(Consumer<LBiObjDblFunctionBuilder<T1, T2, R>> buildingFunction) {
		LBiObjDblFunctionBuilder builder = new LBiObjDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
15726
@Nonnull
	public static <T> ToIntFunction<T> toIntFunctionFrom(Consumer<ToIntFunctionBuilder<T>> buildingFunction) {
		ToIntFunctionBuilder builder = new ToIntFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}