I feel like there’s a tension between two potential uses for @behaviour:
-
the original meaning, where it defined callbacks for mostly-internal use. For instance, you likely don’t want to see
handle_callheads in the documentation for a GenServer -
a new meaning, where it defines an interface for Mox et al that are used externally. I’ve seen this done with a single module that declared
@callbacks and@impled them, where the only “alternative implementation” was inMIX_ENV=test.






















