diff --git a/hs-opentelemetry-sdk.cabal b/hs-opentelemetry-sdk.cabal
--- a/hs-opentelemetry-sdk.cabal
+++ b/hs-opentelemetry-sdk.cabal
@@ -1,22 +1,22 @@
 cabal-version: 1.22
 
--- This file has been generated from package.yaml by hpack version 0.34.5.
+-- This file has been generated from package.yaml by hpack version 0.35.2.
 --
 -- see: https://github.com/sol/hpack
 
-name:           hs-opentelemetry-sdk
-version:        0.0.3.4
-synopsis:       OpenTelemetry SDK for use in applications.
-description:    Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/sdk#readme>
-category:       OpenTelemetry, Telemetry, Monitoring, Observability, Metrics
-homepage:       https://github.com/iand675/hs-opentelemetry#readme
-bug-reports:    https://github.com/iand675/hs-opentelemetry/issues
-author:         Ian Duncan, Jade Lovelace
-maintainer:     ian@iankduncan.com
-copyright:      2022 Ian Duncan
-license:        BSD3
-license-file:   LICENSE
-build-type:     Simple
+name:               hs-opentelemetry-sdk
+version:            0.0.3.5
+synopsis:           OpenTelemetry SDK for use in applications.
+description:        Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/sdk#readme>
+category:           OpenTelemetry, Telemetry, Monitoring, Observability, Metrics
+homepage:           https://github.com/iand675/hs-opentelemetry#readme
+bug-reports:        https://github.com/iand675/hs-opentelemetry/issues
+author:             Ian Duncan, Jade Lovelace
+maintainer:         ian@iankduncan.com
+copyright:          2023 Ian Duncan, Mercury Technologies
+license:            BSD3
+license-file:       LICENSE
+build-type:         Simple
 extra-source-files:
     README.md
     ChangeLog.md
@@ -75,6 +75,7 @@
     , bytestring
     , hs-opentelemetry-api ==0.0.3.*
     , hs-opentelemetry-exporter-otlp ==0.0.1.*
+    , hs-opentelemetry-propagator-b3 ==0.0.1.*
     , hs-opentelemetry-propagator-w3c ==0.0.1.*
     , http-types
     , mwc-random
@@ -110,6 +111,7 @@
     , clock
     , hs-opentelemetry-api
     , hs-opentelemetry-exporter-otlp ==0.0.1.*
+    , hs-opentelemetry-propagator-b3 ==0.0.1.*
     , hs-opentelemetry-propagator-w3c ==0.0.1.*
     , hs-opentelemetry-sdk
     , hspec
diff --git a/src/OpenTelemetry/Processor/Batch.hs b/src/OpenTelemetry/Processor/Batch.hs
--- a/src/OpenTelemetry/Processor/Batch.hs
+++ b/src/OpenTelemetry/Processor/Batch.hs
@@ -22,6 +22,7 @@
   -- , BatchProcessorOperations
 ) where
 
+import Control.Concurrent (rtsSupportsBoundThreads)
 import Control.Concurrent.Async
 import Control.Concurrent.STM
 import Control.Exception
@@ -225,9 +226,13 @@
 {- |
  The batch processor accepts spans and places them into batches. Batching helps better compress the data and reduce the number of outgoing connections
  required to transmit the data. This processor supports both size and time based batching.
+
+ NOTE: this function requires the program be compiled with the @-threaded@ GHC
+ option and will throw an error if this is not the case.
 -}
 batchProcessor :: MonadIO m => BatchTimeoutConfig -> Exporter ImmutableSpan -> m Processor
 batchProcessor BatchTimeoutConfig {..} exporter = liftIO $ do
+  unless rtsSupportsBoundThreads $ error "The hs-opentelemetry batch processor does not work without the -threaded GHC flag!"
   batch <- newIORef $ boundedMap maxQueueSize
   workSignal <- newEmptyTMVarIO
   shutdownSignal <- newEmptyTMVarIO
diff --git a/src/OpenTelemetry/Trace.hs b/src/OpenTelemetry/Trace.hs
--- a/src/OpenTelemetry/Trace.hs
+++ b/src/OpenTelemetry/Trace.hs
@@ -165,6 +165,7 @@
 import OpenTelemetry.Processor (Processor)
 import OpenTelemetry.Processor.Batch (BatchTimeoutConfig (..), batchProcessor, batchTimeoutConfig)
 import OpenTelemetry.Propagator (Propagator)
+import OpenTelemetry.Propagator.B3 (b3MultiTraceContextPropagator, b3TraceContextPropagator)
 import OpenTelemetry.Propagator.W3CBaggage (w3cBaggagePropagator)
 import OpenTelemetry.Propagator.W3CTraceContext (w3cTraceContextPropagator)
 import OpenTelemetry.Resource
@@ -287,8 +288,8 @@
 knownPropagators =
   [ ("tracecontext", w3cTraceContextPropagator)
   , ("baggage", w3cBaggagePropagator)
-  , ("b3", error "B3 not yet implemented")
-  , ("b3multi", error "B3 multi not yet implemented")
+  , ("b3", b3TraceContextPropagator)
+  , ("b3multi", b3MultiTraceContextPropagator)
   , ("jaeger", error "Jaeger not yet implemented")
   ]
 
