diff --git a/src/Merq/IMessageBus.cs b/src/Merq/IMessageBus.cs
index 1a8d0c5..02e1940 100644
--- a/src/Merq/IMessageBus.cs
+++ b/src/Merq/IMessageBus.cs
@@ -1,4 +1,5 @@
-using System;
+#pragma warning disable RS0026 // Do not add multiple public overloads with optional parameters. BOGUS: https://github.com/dotnet/roslyn/issues/16564#issuecomment-1629556744
+using System;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
diff --git a/src/Merq/Merq.csproj b/src/Merq/Merq.csproj
index 65af96c..1fcaf47 100644
--- a/src/Merq/Merq.csproj
+++ b/src/Merq/Merq.csproj
@@ -16,6 +16,7 @@
+
diff --git a/src/Merq/PublicAPI.Shipped.txt b/src/Merq/PublicAPI.Shipped.txt
new file mode 100644
index 0000000..fbcc599
--- /dev/null
+++ b/src/Merq/PublicAPI.Shipped.txt
@@ -0,0 +1,35 @@
+#nullable enable
+Merq.IAsyncCommand
+Merq.IAsyncCommand
+Merq.IAsyncCommandHandler
+Merq.IAsyncCommandHandler
+Merq.IAsyncCommandHandler.ExecuteAsync(TCommand command, System.Threading.CancellationToken cancellation = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
+Merq.IAsyncCommandHandler
+Merq.IAsyncCommandHandler.ExecuteAsync(TCommand command, System.Threading.CancellationToken cancellation = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.Task!
+Merq.ICanExecute
+Merq.ICanExecute.CanExecute(TCommand command) -> bool
+Merq.ICommand
+Merq.ICommand
+Merq.ICommandHandler
+Merq.ICommandHandler
+Merq.ICommandHandler.Execute(TCommand command) -> TResult
+Merq.ICommandHandler
+Merq.ICommandHandler.Execute(TCommand command) -> void
+Merq.IExecutable
+Merq.IExecutable
+Merq.IExecutableCommandHandler
+Merq.IExecutableCommandHandler
+Merq.IExecuteResult
+Merq.IMessageBus
+Merq.IMessageBus.CanExecute(TCommand command) -> bool
+Merq.IMessageBus.CanHandle(Merq.IExecutable! command) -> bool
+Merq.IMessageBus.CanHandle() -> bool
+Merq.IMessageBus.Execute(Merq.ICommand! command, string? callerName = null, string? callerFile = null, int? callerLine = null) -> void
+Merq.IMessageBus.Execute(Merq.ICommand! command, string? callerName = null, string? callerFile = null, int? callerLine = null) -> TResult
+Merq.IMessageBus.ExecuteAsync(Merq.IAsyncCommand! command, System.Threading.CancellationToken cancellation = default(System.Threading.CancellationToken), string? callerName = null, string? callerFile = null, int? callerLine = null) -> System.Threading.Tasks.Task!
+Merq.IMessageBus.ExecuteAsync(Merq.IAsyncCommand! command, System.Threading.CancellationToken cancellation = default(System.Threading.CancellationToken), string? callerName = null, string? callerFile = null, int? callerLine = null) -> System.Threading.Tasks.Task!
+Merq.IMessageBus.Notify(TEvent e, string? callerName = null, string? callerFile = null, int? callerLine = null) -> void
+Merq.IMessageBus.Observe() -> System.IObservable!
+Merq.IMessageBusExtensions
+static Merq.IMessageBusExtensions.Execute(this Merq.IMessageBus! bus, string? callerName = null, string? callerFile = null, int? callerLine = null) -> void
+static Merq.IMessageBusExtensions.Notify(this Merq.IMessageBus! bus, string? callerName = null, string? callerFile = null, int? callerLine = null) -> void
\ No newline at end of file
diff --git a/src/Merq/PublicAPI.Unshipped.txt b/src/Merq/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000..e69de29
diff --git a/src/Packages.props b/src/Packages.props
index 2c09083..378ea0d 100644
--- a/src/Packages.props
+++ b/src/Packages.props
@@ -16,6 +16,7 @@
+