NOTE
Function Types as Interfaces
Using function values to satisfy small behavioral contracts and inject behavior without heavyweight objects.
This is a historical learning note and may contain outdated or incomplete understanding.
A function type can represent a small behavior contract. Languages such as Go can attach methods to named function types, allowing a function value to satisfy an interface while remaining lightweight.
This is useful for callbacks, strategies, middleware, adapters, and dependency injection when the abstraction truly has one behavioral operation. Prefer clarity over wrapping every function in an interface hierarchy.