This is the Rule behaviour.
@type comment() :: map()
@type forms() :: tuple()
@callback apply({forms(), [comment()]}, keyword()) :: {forms(), [comment()]}