Directives might make more sense mechanically, but I don't think they communicate what they do clearly. To me (a human),
const api = createServerFn(...)
shows what it means more clearly even though harder to statically analyze.
Maybe an explicit syntax for directives could help here?