diff --git a/system/ulib/fit/include/lib/fit/bridge.h b/system/ulib/fit/include/lib/fit/bridge.h
index 114762e281ebd8d8a95a5a4fe2b9de12904b0be6..3fed908d34c61eaae41c32407601e57354f5ec65 100644
--- a/system/ulib/fit/include/lib/fit/bridge.h
+++ b/system/ulib/fit/include/lib/fit/bridge.h
@@ -453,7 +453,7 @@ private:
 //     private:
 //         // The model is responsible for initializing and running its own
 //         // executor (perhaps on its own thread).
-//         fit::sequential_executor executor_;
+//         fit::single_threaded_executor executor_;
 //     };
 //
 //     // Asks the model to perform a calculation, awaits a result on the
diff --git a/system/ulib/fit/include/lib/fit/promise.h b/system/ulib/fit/include/lib/fit/promise.h
index 7ef9c44adfa6dd5ff890631b06e2fc02d905fe4e..ece9e75b3bc558275ada4546436f5b6d375a4580 100644
--- a/system/ulib/fit/include/lib/fit/promise.h
+++ b/system/ulib/fit/include/lib/fit/promise.h
@@ -137,7 +137,7 @@ namespace fit {
 // suspended tasks and destroys the task because it is not possible for the task
 // to be resumed or to make progress from that state.
 //
-// See also |fit::sequential_executor| for a simple executor implementation.
+// See also |fit::single_threaded_executor| for a simple executor implementation.
 //
 // BOXED AND UNBOXED PROMISES
 //
@@ -1397,7 +1397,7 @@ protected:
 // a single thread whereas another might dispatch them on an event-driven
 // message loop or use a thread pool.
 //
-// See also |fit::sequential_executor| for a concrete implementation.
+// See also |fit::single_threaded_executor| for a concrete implementation.
 class executor {
 public:
     // Destroys the executor along with all of its remaining scheduled tasks
diff --git a/system/ulib/fit/include/lib/fit/scheduler.h b/system/ulib/fit/include/lib/fit/scheduler.h
index 64d32da207973db1cbcd3ad24dc9625aa0be909f..e2eb42eac3d3311579a32579aebfb149bc5b9d9c 100644
--- a/system/ulib/fit/include/lib/fit/scheduler.h
+++ b/system/ulib/fit/include/lib/fit/scheduler.h
@@ -16,7 +16,7 @@ namespace subtle {
 
 // Keeps track of runnable and suspended tasks.
 // This is a low-level building block for implementing executors.
-// For a concrete implementation, see |fit::sequential_executor|.
+// For a concrete implementation, see |fit::single_threaded_executor|.
 //
 // Instances of this object are not thread-safe.  Its client is responsible
 // for providing all necessary synchronization.
diff --git a/system/ulib/fit/include/lib/fit/sequential_executor.h b/system/ulib/fit/include/lib/fit/single_threaded_executor.h
similarity index 78%
rename from system/ulib/fit/include/lib/fit/sequential_executor.h
rename to system/ulib/fit/include/lib/fit/single_threaded_executor.h
index 44f00d2cd87e6cea3c31c4cab897276fb7ecd130..09d07b31e3472b555c71556d1c5a185d652a45f0 100644
--- a/system/ulib/fit/include/lib/fit/sequential_executor.h
+++ b/system/ulib/fit/include/lib/fit/single_threaded_executor.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef LIB_FIT_SEQUENTIAL_EXECUTOR_H_
-#define LIB_FIT_SEQUENTIAL_EXECUTOR_H_
+#ifndef LIB_FIT_SINGLE_THREADED_EXECUTOR_H_
+#define LIB_FIT_SINGLE_THREADED_EXECUTOR_H_
 
 #include <condition_variable>
 #include <mutex>
@@ -22,13 +22,13 @@ namespace fit {
 // fewer features than more specialized or platform-dependent executors.
 //
 // See documentation of |fit::promise| for more information.
-class sequential_executor final : public executor {
+class single_threaded_executor final : public executor {
 public:
-    sequential_executor();
+    single_threaded_executor();
 
     // Destroys the executor along with all of its remaining scheduled tasks
     // that have yet to complete.
-    ~sequential_executor() override;
+    ~single_threaded_executor() override;
 
     // Schedules a task for eventual execution by the executor.
     //
@@ -42,23 +42,23 @@ public:
     // thread at a time.
     void run();
 
-    sequential_executor(const sequential_executor&) = delete;
-    sequential_executor(sequential_executor&&) = delete;
-    sequential_executor& operator=(const sequential_executor&) = delete;
-    sequential_executor& operator=(sequential_executor&&) = delete;
+    single_threaded_executor(const single_threaded_executor&) = delete;
+    single_threaded_executor(single_threaded_executor&&) = delete;
+    single_threaded_executor& operator=(const single_threaded_executor&) = delete;
+    single_threaded_executor& operator=(single_threaded_executor&&) = delete;
 
 private:
     // The task context for tasks run by the executor.
     class context_impl final : public context {
     public:
-        explicit context_impl(sequential_executor* executor);
+        explicit context_impl(single_threaded_executor* executor);
         ~context_impl() override;
 
-        sequential_executor* executor() const override;
+        single_threaded_executor* executor() const override;
         suspended_task suspend_task() override;
 
     private:
-        sequential_executor* const executor_;
+        single_threaded_executor* const executor_;
     };
 
     // The dispatcher runs tasks and provides the suspended task resolver.
@@ -66,7 +66,7 @@ private:
     // The lifetime of this object is somewhat complex since there are pointers
     // to it from multiple sources which are released in different ways.
     //
-    // - |sequential_executor| holds a pointer in |dispatcher_| which it releases
+    // - |single_threaded_executor| holds a pointer in |dispatcher_| which it releases
     //   after calling |shutdown()| to inform the dispatcher of its own demise
     // - |suspended_task| holds a pointer to the dispatcher's resolver
     //   interface and the number of outstanding pointers corresponds to the
@@ -110,14 +110,14 @@ private:
     dispatcher_impl* dispatcher_;
 };
 
-// Creates a new |fit::sequential_executor|, schedules a promise as a task,
+// Creates a new |fit::single_threaded_executor|, schedules a promise as a task,
 // runs all of the executor's scheduled tasks until none remain, then returns
 // the promise's result.
 template <typename Continuation>
 static typename promise_impl<Continuation>::result_type
-run_sequentially(promise_impl<Continuation> promise) {
+run_single_threaded(promise_impl<Continuation> promise) {
     using result_type = typename promise_impl<Continuation>::result_type;
-    sequential_executor exec;
+    single_threaded_executor exec;
     result_type saved_result;
     exec.schedule_task(promise.then([&saved_result](result_type result) {
         saved_result = std::move(result);
@@ -128,4 +128,4 @@ run_sequentially(promise_impl<Continuation> promise) {
 
 } // namespace fit
 
-#endif // LIB_FIT_SEQUENTIAL_EXECUTOR_H_
+#endif  // LIB_FIT_SINGLE_THREADED_EXECUTOR_H_
diff --git a/system/ulib/fit/rules.mk b/system/ulib/fit/rules.mk
index 0f1de2110fd5a6a448ded7c72a36d4ab03f16d61..a561f7bfe0750da040838ab84df131887bb8effe 100644
--- a/system/ulib/fit/rules.mk
+++ b/system/ulib/fit/rules.mk
@@ -7,7 +7,7 @@ LOCAL_DIR := $(GET_LOCAL_DIR)
 fit_srcs := \
     $(LOCAL_DIR)/empty.c \
     $(LOCAL_DIR)/promise.cpp \
-    $(LOCAL_DIR)/sequential_executor.cpp \
+    $(LOCAL_DIR)/single_threaded_executor.cpp \
     $(LOCAL_DIR)/scheduler.cpp \
 
 #
diff --git a/system/ulib/fit/sequential_executor.cpp b/system/ulib/fit/single_threaded_executor.cpp
similarity index 78%
rename from system/ulib/fit/sequential_executor.cpp
rename to system/ulib/fit/single_threaded_executor.cpp
index 2a2230f3c83cfb78aa2c669bef872c32ed61b855..3064220122620e8fbc05ee236c033bf972739af8 100644
--- a/system/ulib/fit/sequential_executor.cpp
+++ b/system/ulib/fit/single_threaded_executor.cpp
@@ -5,42 +5,42 @@
 // Can't compile this for Zircon userspace yet since libstdc++ isn't available.
 #ifndef FIT_NO_STD_FOR_ZIRCON_USERSPACE
 
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 
 namespace fit {
 
-sequential_executor::sequential_executor()
+single_threaded_executor::single_threaded_executor()
     : context_(this), dispatcher_(new dispatcher_impl()) {}
 
-sequential_executor::~sequential_executor() {
+single_threaded_executor::~single_threaded_executor() {
     dispatcher_->shutdown();
 }
 
-void sequential_executor::schedule_task(pending_task task) {
+void single_threaded_executor::schedule_task(pending_task task) {
     assert(task);
     dispatcher_->schedule_task(std::move(task));
 }
 
-void sequential_executor::run() {
+void single_threaded_executor::run() {
     dispatcher_->run(context_);
 }
 
-sequential_executor::context_impl::context_impl(sequential_executor* executor)
+single_threaded_executor::context_impl::context_impl(single_threaded_executor* executor)
     : executor_(executor) {}
 
-sequential_executor::context_impl::~context_impl() = default;
+single_threaded_executor::context_impl::~context_impl() = default;
 
-sequential_executor* sequential_executor::context_impl::executor() const {
+single_threaded_executor* single_threaded_executor::context_impl::executor() const {
     return executor_;
 }
 
-suspended_task sequential_executor::context_impl::suspend_task() {
+suspended_task single_threaded_executor::context_impl::suspend_task() {
     return executor_->dispatcher_->suspend_current_task();
 }
 
-sequential_executor::dispatcher_impl::dispatcher_impl() = default;
+single_threaded_executor::dispatcher_impl::dispatcher_impl() = default;
 
-sequential_executor::dispatcher_impl::~dispatcher_impl() {
+single_threaded_executor::dispatcher_impl::~dispatcher_impl() {
     std::lock_guard<std::mutex> lock(guarded_.mutex_);
     assert(guarded_.was_shutdown_);
     assert(!guarded_.scheduler_.has_runnable_tasks());
@@ -48,7 +48,7 @@ sequential_executor::dispatcher_impl::~dispatcher_impl() {
     assert(!guarded_.scheduler_.has_outstanding_tickets());
 }
 
-void sequential_executor::dispatcher_impl::shutdown() {
+void single_threaded_executor::dispatcher_impl::shutdown() {
     fit::subtle::scheduler::task_queue tasks; // drop outside of the lock
     {
         std::lock_guard<std::mutex> lock(guarded_.mutex_);
@@ -64,7 +64,7 @@ void sequential_executor::dispatcher_impl::shutdown() {
     delete this;
 }
 
-void sequential_executor::dispatcher_impl::schedule_task(pending_task task) {
+void single_threaded_executor::dispatcher_impl::schedule_task(pending_task task) {
     {
         std::lock_guard<std::mutex> lock(guarded_.mutex_);
         assert(!guarded_.was_shutdown_);
@@ -79,7 +79,7 @@ void sequential_executor::dispatcher_impl::schedule_task(pending_task task) {
     wake_.notify_one();
 }
 
-void sequential_executor::dispatcher_impl::run(context_impl& context) {
+void single_threaded_executor::dispatcher_impl::run(context_impl& context) {
     fit::subtle::scheduler::task_queue tasks;
     for (;;) {
         wait_for_runnable_tasks(&tasks);
@@ -97,7 +97,7 @@ void sequential_executor::dispatcher_impl::run(context_impl& context) {
 // Must only be called while |run_task()| is running a task.
 // This happens when the task's continuation calls |context::suspend_task()|
 // upon the context it received as an argument.
-suspended_task sequential_executor::dispatcher_impl::suspend_current_task() {
+suspended_task single_threaded_executor::dispatcher_impl::suspend_current_task() {
     std::lock_guard<std::mutex> lock(guarded_.mutex_);
     assert(!guarded_.was_shutdown_);
     if (current_task_ticket_ == 0) {
@@ -110,7 +110,7 @@ suspended_task sequential_executor::dispatcher_impl::suspend_current_task() {
 }
 
 // Unfortunately std::unique_lock does not support thread-safety annotations
-void sequential_executor::dispatcher_impl::wait_for_runnable_tasks(
+void single_threaded_executor::dispatcher_impl::wait_for_runnable_tasks(
     fit::subtle::scheduler::task_queue* out_tasks) FIT_NO_THREAD_SAFETY_ANALYSIS {
     std::unique_lock<std::mutex> lock(guarded_.mutex_);
     for (;;) {
@@ -128,8 +128,8 @@ void sequential_executor::dispatcher_impl::wait_for_runnable_tasks(
     }
 }
 
-void sequential_executor::dispatcher_impl::run_task(pending_task* task,
-                                                    context& context) {
+void single_threaded_executor::dispatcher_impl::run_task(pending_task* task,
+                                                         context& context) {
     assert(current_task_ticket_ == 0);
     const bool finished = (*task)(context);
     assert(!*task == finished);
@@ -144,14 +144,14 @@ void sequential_executor::dispatcher_impl::run_task(pending_task* task,
     current_task_ticket_ = 0;
 }
 
-suspended_task::ticket sequential_executor::dispatcher_impl::duplicate_ticket(
+suspended_task::ticket single_threaded_executor::dispatcher_impl::duplicate_ticket(
     suspended_task::ticket ticket) {
     std::lock_guard<std::mutex> lock(guarded_.mutex_);
     guarded_.scheduler_.duplicate_ticket(ticket);
     return ticket;
 }
 
-void sequential_executor::dispatcher_impl::resolve_ticket(
+void single_threaded_executor::dispatcher_impl::resolve_ticket(
     suspended_task::ticket ticket, bool resume_task) {
     pending_task abandoned_task; // drop outside of the lock
     bool do_wake = false;
diff --git a/system/utest/fit/bridge_tests.cpp b/system/utest/fit/bridge_tests.cpp
index 9d42ef2c1b4496abc13cc95273a3a470d2382399..7520365acc71ea0aab8e898be9df5b254b908514 100644
--- a/system/utest/fit/bridge_tests.cpp
+++ b/system/utest/fit/bridge_tests.cpp
@@ -9,7 +9,7 @@
 
 #include <lib/fit/bridge.h>
 #include <lib/fit/promise.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 #include <unittest/unittest.h>
 
 namespace {
@@ -67,7 +67,7 @@ bool bridge_construction_and_assignment() {
     bridge.completer().complete_error("Test");
     EXPECT_FALSE(bridge.completer());
     fit::result<int, const char*> result =
-        fit::run_sequentially(bridge.consumer().promise());
+        fit::run_single_threaded(bridge.consumer().promise());
     EXPECT_FALSE(bridge.consumer());
     EXPECT_EQ(fit::result_state::error, result.state());
     EXPECT_STR_EQ("Test", result.error());
@@ -96,7 +96,7 @@ bool completer_construction_and_assignment() {
     completer.complete_error("Test");
     EXPECT_FALSE(completer);
     fit::result<int, const char*> result =
-        fit::run_sequentially(bridge.consumer().promise());
+        fit::run_single_threaded(bridge.consumer().promise());
     EXPECT_FALSE(bridge.consumer());
     EXPECT_EQ(fit::result_state::error, result.state());
     EXPECT_STR_EQ("Test", result.error());
@@ -128,7 +128,7 @@ bool completer_abandon() {
         EXPECT_TRUE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise_or(
+            fit::run_single_threaded(bridge.consumer().promise_or(
                 fit::error("Abandoned")));
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
@@ -146,7 +146,7 @@ bool completer_abandon() {
         EXPECT_TRUE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise_or(
+            fit::run_single_threaded(bridge.consumer().promise_or(
                 fit::error("Abandoned")));
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
@@ -170,7 +170,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<void, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::ok, result.state());
     }
@@ -186,7 +186,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(42, result.value());
@@ -203,7 +203,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<int, void> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
     }
@@ -219,7 +219,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
         EXPECT_STR_EQ("Test", result.error());
@@ -236,7 +236,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(42, result.value());
@@ -253,7 +253,7 @@ bool completer_complete() {
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise());
+            fit::run_single_threaded(bridge.consumer().promise());
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
         EXPECT_STR_EQ("Test", result.error());
@@ -270,7 +270,7 @@ bool completer_complete() {
         EXPECT_TRUE(bridge.consumer().was_abandoned());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(bridge.consumer().promise_or(
+            fit::run_single_threaded(bridge.consumer().promise_or(
                 fit::error("Abandoned")));
         EXPECT_FALSE(bridge.consumer());
         EXPECT_EQ(fit::result_state::error, result.state());
@@ -291,7 +291,7 @@ bool completer_bind_no_arg_callback() {
         EXPECT_FALSE(bridge.completer());
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
-        fit::result<> result = fit::run_sequentially(
+        fit::result<> result = fit::run_single_threaded(
             bridge.consumer().promise());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(1, run_count);
@@ -305,7 +305,7 @@ bool completer_bind_no_arg_callback() {
         EXPECT_FALSE(bridge.completer());
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
-        fit::result<std::tuple<>> result = fit::run_sequentially(
+        fit::result<std::tuple<>> result = fit::run_single_threaded(
             bridge.consumer().promise());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(1, run_count);
@@ -325,7 +325,7 @@ bool completer_bind_one_arg_callback() {
         EXPECT_FALSE(bridge.completer());
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
-        fit::result<std::string> result = fit::run_sequentially(
+        fit::result<std::string> result = fit::run_single_threaded(
             bridge.consumer().promise());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_TRUE(result.value() == "Hippopotamus");
@@ -340,7 +340,7 @@ bool completer_bind_one_arg_callback() {
         EXPECT_FALSE(bridge.completer());
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
-        fit::result<std::tuple<std::string>> result = fit::run_sequentially(
+        fit::result<std::tuple<std::string>> result = fit::run_single_threaded(
             bridge.consumer().promise());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_TRUE(std::get<0>(result.value()) == "Hippopotamus");
@@ -361,7 +361,7 @@ bool completer_bind_two_arg_callback() {
         EXPECT_FALSE(bridge.completer());
         EXPECT_FALSE(bridge.consumer().was_abandoned());
 
-        fit::result<std::tuple<std::string, int>> result = fit::run_sequentially(
+        fit::result<std::tuple<std::string, int>> result = fit::run_single_threaded(
             bridge.consumer().promise());
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_TRUE(std::get<0>(result.value()) ==
@@ -394,7 +394,7 @@ bool consumer_construction_and_assignment() {
     bridge.completer().complete_error("Test");
     EXPECT_FALSE(bridge.completer());
     fit::result<int, const char*> result =
-        fit::run_sequentially(consumer.promise());
+        fit::run_single_threaded(consumer.promise());
     EXPECT_FALSE(consumer);
     EXPECT_EQ(fit::result_state::error, result.state());
     EXPECT_STR_EQ("Test", result.error());
@@ -463,7 +463,7 @@ bool consumer_promise() {
         EXPECT_FALSE(bridge.completer());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(std::move(promise));
+            fit::run_single_threaded(std::move(promise));
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(42, result.value());
     }
@@ -482,7 +482,7 @@ bool consumer_promise() {
         EXPECT_FALSE(bridge.completer());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(std::move(promise));
+            fit::run_single_threaded(std::move(promise));
         EXPECT_EQ(fit::result_state::pending, result.state());
     }
 
@@ -501,7 +501,7 @@ bool consumer_promise() {
         EXPECT_FALSE(bridge.completer());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(std::move(promise));
+            fit::run_single_threaded(std::move(promise));
         EXPECT_EQ(fit::result_state::ok, result.state());
         EXPECT_EQ(42, result.value());
     }
@@ -521,7 +521,7 @@ bool consumer_promise() {
         EXPECT_FALSE(bridge.completer());
 
         fit::result<int, const char*> result =
-            fit::run_sequentially(std::move(promise));
+            fit::run_single_threaded(std::move(promise));
         EXPECT_EQ(fit::result_state::error, result.state());
         EXPECT_STR_EQ("Abandoned", result.error());
     }
@@ -535,7 +535,7 @@ bool schedule_for_consumer() {
     // Promise completes normally.
     {
         uint64_t run_count[2] = {};
-        fit::sequential_executor executor;
+        fit::single_threaded_executor executor;
         fit::consumer<int> consumer =
             fit::schedule_for_consumer(
                 &executor, fit::make_promise([&](fit::context& context) {
@@ -546,7 +546,7 @@ bool schedule_for_consumer() {
         EXPECT_EQ(0, run_count[0]);
 
         std::async(std::launch::async, [&] { executor.run(); });
-        fit::run_sequentially(
+        fit::run_single_threaded(
             consumer.promise()
                 .then([&](fit::context& context, fit::result<int> result) {
                     assert(context.executor() != &executor);
@@ -560,7 +560,7 @@ bool schedule_for_consumer() {
     // Promise abandons its task so the consumer is abandoned too.
     {
         uint64_t run_count[2] = {};
-        fit::sequential_executor executor;
+        fit::single_threaded_executor executor;
         fit::consumer<int> consumer =
             fit::schedule_for_consumer(
                 &executor, fit::make_promise([&](fit::context& context)
@@ -574,7 +574,7 @@ bool schedule_for_consumer() {
         EXPECT_EQ(0, run_count[0]);
 
         std::async(std::launch::async, [&] { executor.run(); });
-        fit::run_sequentially(
+        fit::run_single_threaded(
             consumer.promise()
                 .then([&](fit::context& context, fit::result<int> result) {
                     // This should not run because the promise was abandoned.
@@ -588,7 +588,7 @@ bool schedule_for_consumer() {
     // but this time we use promise_or() so we can handle the abandonment.
     {
         uint64_t run_count[2] = {};
-        fit::sequential_executor executor;
+        fit::single_threaded_executor executor;
         fit::consumer<int> consumer =
             fit::schedule_for_consumer(
                 &executor, fit::make_promise([&](fit::context& context)
@@ -602,7 +602,7 @@ bool schedule_for_consumer() {
         EXPECT_EQ(0, run_count[0]);
 
         std::async(std::launch::async, [&] { executor.run(); });
-        fit::run_sequentially(
+        fit::run_single_threaded(
             consumer.promise_or(fit::error())
                 .then([&](fit::context& context, fit::result<int> result) {
                     assert(context.executor() != &executor);
diff --git a/system/utest/fit/examples/promise_example1.cpp b/system/utest/fit/examples/promise_example1.cpp
index d0b024d3a20269ca9b3ae40afccdb23a859e1b1d..ad38d1d88e2fcf89be6158f7cc12409766b6884c 100644
--- a/system/utest/fit/examples/promise_example1.cpp
+++ b/system/utest/fit/examples/promise_example1.cpp
@@ -7,7 +7,7 @@
 #include <string>
 
 #include <lib/fit/promise.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 
 #include "utils.h"
 
@@ -90,7 +90,7 @@ fit::promise<> prepare_simulation() {
 
 void run() {
     auto simulation = prepare_simulation();
-    fit::run_sequentially(std::move(simulation));
+    fit::run_single_threaded(std::move(simulation));
 }
 
 } // namespace promise_example1
diff --git a/system/utest/fit/examples/promise_example2.cpp b/system/utest/fit/examples/promise_example2.cpp
index d64c1fb44ed4d1e8083c416e6beae995da87a77f..25618602b08e7a7831c1eded6bcd53f95ea69db8 100644
--- a/system/utest/fit/examples/promise_example2.cpp
+++ b/system/utest/fit/examples/promise_example2.cpp
@@ -8,7 +8,7 @@
 #include <string>
 
 #include <lib/fit/promise.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 
 #include "utils.h"
 
@@ -164,7 +164,7 @@ auto play_game() {
 }
 
 void run() {
-    fit::run_sequentially(play_game());
+    fit::run_single_threaded(play_game());
 }
 
 } // namespace promise_example2
diff --git a/system/utest/fit/promise_tests.cpp b/system/utest/fit/promise_tests.cpp
index 0442fe901aaccef0957f8381d832e0f880fbb02a..bf7cf30867a38e86353b76b309d9b1684d7d9836 100644
--- a/system/utest/fit/promise_tests.cpp
+++ b/system/utest/fit/promise_tests.cpp
@@ -5,7 +5,7 @@
 #include <functional>
 
 #include <lib/fit/promise.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 #include <unittest/unittest.h>
 
 #include "examples/promise_example1.h"
@@ -71,7 +71,7 @@ bool basics() {
 
         // Evaluate the promise.
         fit::result<int, const char*> result =
-            fit::run_sequentially(std::move(promise));
+            fit::run_single_threaded(std::move(promise));
         if (i % 2 == 0) {
             EXPECT_TRUE(result.is_ok());
             EXPECT_EQ(i * i / 2, result.value());
diff --git a/system/utest/fit/rules.mk b/system/utest/fit/rules.mk
index a487f596f2852721134d1920116ca3f848db44c7..9443e4a1fbc22c02f55f06ac56098d243c77bb1b 100644
--- a/system/utest/fit/rules.mk
+++ b/system/utest/fit/rules.mk
@@ -22,7 +22,7 @@ fit_tests := \
     $(LOCAL_DIR)/result_tests.cpp \
     $(LOCAL_DIR)/scheduler_tests.cpp \
     $(LOCAL_DIR)/sequencer_tests.cpp \
-    $(LOCAL_DIR)/sequential_executor_tests.cpp \
+    $(LOCAL_DIR)/single_threaded_executor_tests.cpp \
     $(LOCAL_DIR)/suspended_task_tests.cpp \
     $(LOCAL_DIR)/traits_tests.cpp \
     $(LOCAL_DIR)/variant_tests.cpp \
diff --git a/system/utest/fit/sequencer_tests.cpp b/system/utest/fit/sequencer_tests.cpp
index 3bdc4f2a9cf0ae1be4bd83ccace23c71cb4305e8..6b743125dd766ea89d00c4bf02191ea79afc67dd 100644
--- a/system/utest/fit/sequencer_tests.cpp
+++ b/system/utest/fit/sequencer_tests.cpp
@@ -8,7 +8,7 @@
 #include <string>
 
 #include <lib/fit/sequencer.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 #include <unittest/unittest.h>
 
 namespace {
@@ -63,7 +63,7 @@ bool sequencing_tasks() {
 
     // Schedule the promises in an order which intentionally does not
     // match the sequencing.
-    fit::sequential_executor executor;
+    fit::single_threaded_executor executor;
     executor.schedule_task(std::move(z1));
     executor.schedule_task(std::move(b));
     executor.schedule_task(std::move(c));
@@ -82,7 +82,7 @@ bool thread_safety() {
     BEGIN_TEST;
 
     fit::sequencer seq;
-    fit::sequential_executor executor;
+    fit::single_threaded_executor executor;
     uint64_t run_count = 0;
 
     // Schedule work from a few threads, just to show that we can.
diff --git a/system/utest/fit/sequential_executor_tests.cpp b/system/utest/fit/single_threaded_executor_tests.cpp
similarity index 94%
rename from system/utest/fit/sequential_executor_tests.cpp
rename to system/utest/fit/single_threaded_executor_tests.cpp
index 4343aa08e9d54cf7d92f2fa89b8d92562e5e4258..080be5fe8cb5a13af2012977a6962bd2b195cded 100644
--- a/system/utest/fit/sequential_executor_tests.cpp
+++ b/system/utest/fit/single_threaded_executor_tests.cpp
@@ -5,7 +5,7 @@
 #include <future> // for std::async
 
 #include <lib/fit/defer.h>
-#include <lib/fit/sequential_executor.h>
+#include <lib/fit/single_threaded_executor.h>
 #include <unittest/unittest.h>
 
 namespace {
@@ -13,7 +13,7 @@ namespace {
 bool running_tasks() {
     BEGIN_TEST;
 
-    fit::sequential_executor executor;
+    fit::single_threaded_executor executor;
     uint64_t run_count[3] = {};
 
     // Schedule a task that runs once and increments a counter.
@@ -43,7 +43,7 @@ bool running_tasks() {
 bool suspending_and_resuming_tasks() {
     BEGIN_TEST;
 
-    fit::sequential_executor executor;
+    fit::single_threaded_executor executor;
     uint64_t run_count[5] = {};
     uint64_t resume_count[5] = {};
     uint64_t resume_count4b = 0;
@@ -130,7 +130,7 @@ bool suspending_and_resuming_tasks() {
 bool abandoning_tasks() {
     BEGIN_TEST;
 
-    fit::sequential_executor executor;
+    fit::single_threaded_executor executor;
     uint64_t run_count[4] = {};
     uint64_t destruction[4] = {};
 
@@ -188,11 +188,11 @@ bool abandoning_tasks() {
     END_TEST;
 }
 
-bool run_sequentially() {
+bool run_single_threaded() {
     BEGIN_TEST;
 
     uint64_t run_count = 0;
-    fit::result<int> result = fit::run_sequentially(fit::make_promise(
+    fit::result<int> result = fit::run_single_threaded(fit::make_promise(
         [&]() {
             run_count++;
             return fit::ok(42);
@@ -205,9 +205,9 @@ bool run_sequentially() {
 
 } // namespace
 
-BEGIN_TEST_CASE(sequential_executor_tests)
+BEGIN_TEST_CASE(single_threaded_executor_tests)
 RUN_TEST(running_tasks)
 RUN_TEST(suspending_and_resuming_tasks)
 RUN_TEST(abandoning_tasks)
-RUN_TEST(run_sequentially)
-END_TEST_CASE(sequential_executor_tests)
+RUN_TEST(run_single_threaded)
+END_TEST_CASE(single_threaded_executor_tests)