interface producer { use messaging-types.{client, channel, message, error}; send: func(c: client, ch: channel, m: list) -> result<_, error>; }