package functions type ( // Consumer takes an argument of type T and returns nothing Consumer[T any] func(T) // Function takes an argument of type T and returns a result of type U Function[T, U any] func(T) U // Predicate takes an argument of type T and returns a boolean result Predicate[T any] func(T) bool // Supplier takes no argument and returns a result of type T Supplier[T any] func() T // UnaryOperator takes an argument of type T and returns a result of type T UnaryOperator[T any] func(T) T // BinaryOperator takes two arguments of type T and returns a result of type T BinaryOperator[T any] func(T, T) T // Comparator takes two arguments of type T and returns a boolean result Comparator[T any] func(T, T) bool )