One of ways of creating builder. This might be the only way (considering all _functional_ builders) that might be utilize to specify generic params only once.
164471
@Nonnull
	public static <T1, T2, R> LBiFunctionBuilder<T1, T2, R> biFunction(Consumer<LBiFunction<T1, T2, R>> consumer) {
		return new LBiFunctionBuilder(consumer);
	}
310027
@Nonnull
	public static <T, R> LObjIntDblFunction<T, R> objIntDblFunctionFrom(Consumer<LObjIntDblFunctionBuilder<T, R>> buildingFunction) {
		LObjIntDblFunctionBuilder builder = new LObjIntDblFunctionBuilder();
		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);
	}
980889
@Nonnull
	public static <T, R> LObjIntByteFunctionBuilder<T, R> objIntByteFunction(Consumer<LObjIntByteFunction<T, R>> consumer) {
		return new LObjIntByteFunctionBuilder(consumer);
	}
1326033
@Nonnull
	public static <R> LBiBoolFunctionBuilder<R> biBoolFunction(Consumer<LBiBoolFunction<R>> consumer) {
		return new LBiBoolFunctionBuilder(consumer);
	}
862757
@Nonnull
	public static <T1, T2, R> LObjIntObjFunction<T1, T2, R> objIntObjFunctionFrom(Consumer<LObjIntObjFunctionBuilder<T1, T2, R>> buildingFunction) {
		LObjIntObjFunctionBuilder builder = new LObjIntObjFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
797786
@Nonnull
	public static <T> ObjIntConsumer<T> objIntConsumerFrom(Consumer<ObjIntConsumerBuilder<T>> buildingFunction) {
		ObjIntConsumerBuilder builder = new ObjIntConsumerBuilder();
		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();
	}
1095432
@Nonnull
	public static <T1, T2> LBiObjIntPredicateBuilder<T1, T2> biObjIntPredicate(Consumer<LBiObjIntPredicate<T1, T2>> consumer) {
		return new LBiObjIntPredicateBuilder(consumer);
	}
1282660
@Nonnull
	public static LBoolToFltFunction boolToFltFunctionFrom(Consumer<LBoolToFltFunctionBuilder> buildingFunction) {
		LBoolToFltFunctionBuilder builder = new LBoolToFltFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
6531
@Nonnull
	public static <T, R> LObjIntCharFunction<T, R> objIntCharFunctionFrom(Consumer<LObjIntCharFunctionBuilder<T, R>> buildingFunction) {
		LObjIntCharFunctionBuilder builder = new LObjIntCharFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
284524
@Nonnull
	public static <T1, T2, R> LBiObjDblFunctionBuilder<T1, T2, R> biObjDblFunction(Consumer<LBiObjDblFunction<T1, T2, R>> consumer) {
		return new LBiObjDblFunctionBuilder(consumer);
	}
388329
@Nonnull
	public static <R> LFltFunction<R> fltFunctionFrom(Consumer<LFltFunctionBuilder<R>> buildingFunction) {
		LFltFunctionBuilder builder = new LFltFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
201053
@Nonnull
	public static <T, R> LObjIntLongFunction<T, R> objIntLongFunctionFrom(Consumer<LObjIntLongFunctionBuilder<T, R>> buildingFunction) {
		LObjIntLongFunctionBuilder builder = new LObjIntLongFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
924649
@Nonnull
	public static <R> IntFunctionBuilder<R> intFunction(Consumer<IntFunction<R>> consumer) {
		return new IntFunctionBuilder(consumer);
	}
465768
@Nonnull
	public static <R> LBiIntFunctionBuilder<R> biIntFunction(Consumer<LBiIntFunction<R>> consumer) {
		return new LBiIntFunctionBuilder(consumer);
	}
1295240
@Nonnull
	public static <T, R> LObjByteFunctionBuilder<T, R> objByteFunction(Consumer<LObjByteFunction<T, R>> consumer) {
		return new LObjByteFunctionBuilder(consumer);
	}