@FunctionalInterface
Runnable () -> ()
Callable () -> V throws e
Supplier () -> T
Consumer T -> ()
BiConsumer T, U -> ()
Function T -> R
BiFunction T, U -> R
Predicate T -> boolean
BiPredicate T, U -> boolean
UnaryOperator T -> T
BinaryOperator T, T -> T🤔1