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.
355588
@Nonnull
	public static <T, R> LObjIntLongFunctionBuilder<T, R> objIntLongFunction(Consumer<LObjIntLongFunction<T, R>> consumer) {
		return new LObjIntLongFunctionBuilder(consumer);
	}
449021
@Nonnull
	public static <R> LSrtFunction<R> srtFunctionFrom(Consumer<LSrtFunctionBuilder<R>> buildingFunction) {
		LSrtFunctionBuilder builder = new LSrtFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
2559
@Nonnull
	public static <T> LObjFltConsumer<T> objFltConsumerFrom(Consumer<LObjFltConsumerBuilder<T>> buildingFunction) {
		LObjFltConsumerBuilder builder = new LObjFltConsumerBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
296993
@Nonnull
	public static <T1, T2, R> LBiObjLongFunctionBuilder<T1, T2, R> biObjLongFunction(Consumer<LBiObjLongFunction<T1, T2, R>> consumer) {
		return new LBiObjLongFunctionBuilder(consumer);
	}
193264
@Nonnull
	public static <T> LOiToIntFunctionBuilder<T> oiToIntFunction(Consumer<LOiToIntFunction<T>> consumer) {
		return new LOiToIntFunctionBuilder(consumer);
	}
258177
@Nonnull
	public static <T1, T2, R> LBiObjBoolFunction<T1, T2, R> biObjBoolFunctionFrom(Consumer<LBiObjBoolFunctionBuilder<T1, T2, R>> buildingFunction) {
		LBiObjBoolFunctionBuilder builder = new LBiObjBoolFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
283247
@Nonnull
	public static <T, R> LObjBiIntFunction<T, R> objBiIntFunctionFrom(Consumer<LObjBiIntFunctionBuilder<T, R>> buildingFunction) {
		LObjBiIntFunctionBuilder builder = new LObjBiIntFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
624771
@Nonnull
	public static <T, R> LObjIntBoolFunctionBuilder<T, R> objIntBoolFunction(Consumer<LObjIntBoolFunction<T, R>> consumer) {
		return new LObjIntBoolFunctionBuilder(consumer);
	}
639018
@Nonnull
	public static LFltToDblFunction fltToDblFunctionFrom(Consumer<LFltToDblFunctionBuilder> buildingFunction) {
		LFltToDblFunctionBuilder builder = new LFltToDblFunctionBuilder();
		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();
	}
1216546
@Nonnull
	public static <T, R> LFunctionBuilder<T, R> function(Consumer<LFunction<T, R>> consumer) {
		return new LFunctionBuilder(consumer);
	}
1358247
@Nonnull
	public static <T> LOiToDblFunction<T> oiToDblFunctionFrom(Consumer<LOiToDblFunctionBuilder<T>> buildingFunction) {
		LOiToDblFunctionBuilder builder = new LOiToDblFunctionBuilder();
		buildingFunction.accept(builder);
		return builder.build();
	}
740146
@Nonnull
	public static <R> LBoolFunctionBuilder<R> boolFunction(Consumer<LBoolFunction<R>> consumer) {
		return new LBoolFunctionBuilder(consumer);
	}
924349
@Nonnull
	public static <T1, T2, R> LBiObjCharFunctionBuilder<T1, T2, R> biObjCharFunction(Consumer<LBiObjCharFunction<T1, T2, R>> consumer) {
		return new LBiObjCharFunctionBuilder(consumer);
	}
164614
@Nonnull
	public static <T> LObjIntConsumer<T> objIntConsumerFrom(Consumer<LObjIntConsumerBuilder<T>> buildingFunction) {
		LObjIntConsumerBuilder builder = new LObjIntConsumerBuilder();
		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);
	}
1295240
@Nonnull
	public static <T, R> LObjByteFunctionBuilder<T, R> objByteFunction(Consumer<LObjByteFunction<T, R>> consumer) {
		return new LObjByteFunctionBuilder(consumer);
	}