const std = @import("std"); const common = @import("common.zig"); fn perform(action: common.Action) !void { std.log.debug("{s} says {any}", .{ @typeName(@This()), action }); } // TODO in comptime, loop through the struct; generate the "hook" api i used before. // automatically generate the "interface" and return that. then consumers can import // and use it directly, but it'll automatically go through the thing. // use @export in comptime to export the necessary symbols.