Java, Scala, Functional Programming, Concurrency, Macro.
its most common form, type-directed term derivation is known as implicits (in Scala 2) or givens (in Scala 3). Just as the IDE can often infer types for a piece of code, the Scala compiler can infer code based on a type. The "developer experience" around this feature has been improved in Scala 3;