Add a note describing the register naming convention in `raw_syscalls.rs` and move the `Syscalls` impl into its own file in preparation for an upcoming PR.
diff --git a/core/platform/src/lib.rs b/core/platform/src/lib.rs
index 699d3da..b269712 100644
--- a/core/platform/src/lib.rs
+++ b/core/platform/src/lib.rs
@@ -12,6 +12,7 @@
 mod error_code;
 mod raw_syscalls;
 mod syscalls;
+mod syscalls_impl;
 
 pub use allows::{AllowReadable, Allowed};
 pub use error_code::ErrorCode;
diff --git a/core/platform/src/syscalls.rs b/core/platform/src/syscalls.rs
index fc3207e..8d85380 100644
--- a/core/platform/src/syscalls.rs
+++ b/core/platform/src/syscalls.rs
@@ -1,8 +1,6 @@
 // TODO: Implement `libtock_runtime` and `libtock_unittest`, which are
 // referenced in the comment on `Syscalls`.
 
-use crate::raw_syscalls::{RawSyscalls, YieldType};
-
 /// `Syscalls` provides safe abstractions over Tock's system calls. It is
 /// implemented for `libtock_runtime::TockSyscalls` and
 /// `libtock_unittest::FakeSyscalls` (by way of `RawSyscalls`).
@@ -26,30 +24,3 @@
 
     // TODO: Add memop() methods.
 }
-
-impl<S: RawSyscalls> Syscalls for S {
-    fn yield_wait() {
-        Self::raw_yield(YieldType::Wait);
-    }
-
-    fn yield_no_wait() -> bool {
-        Self::raw_yield(YieldType::NoWait) != ReturnType::Failure as usize
-    }
-}
-
-// Note: variants are commented out because if they aren't commented out I get a
-// "variant is never constructed" error. When we figure out an error handling
-// design, this type is likely to move into an error handling-related module, at
-// which point we will uncomment the other variants.
-enum ReturnType {
-    Failure = 0,
-    //FailureWithU32 = 1,
-    //FailureWith2U32 = 2,
-    //FailureWithU64 = 3,
-    //Success = 128,
-    //SuccessWithU32 = 129,
-    //SuccessWith2U32 = 130,
-    //SuccessWithU64 = 131,
-    //SuccessWith3U32 = 132,
-    //SuccessWithU32AndU64 = 133,
-}
diff --git a/core/platform/src/syscalls_impl.rs b/core/platform/src/syscalls_impl.rs
new file mode 100644
index 0000000..0af15c5
--- /dev/null
+++ b/core/platform/src/syscalls_impl.rs
@@ -0,0 +1,18 @@
+//! Implements `Syscalls` for all types that implement `RawSyscalls`.
+
+use crate::{RawSyscalls, Syscalls, YieldType};
+
+impl<S: RawSyscalls> Syscalls for S {
+    // -------------------------------------------------------------------------
+    // Yield
+    // -------------------------------------------------------------------------
+
+    fn yield_wait() {
+        Self::raw_yield(YieldType::Wait);
+    }
+
+    fn yield_no_wait() -> bool {
+        // TODO: Introduce a return type abstraction so this 0 isn't hardcoded.
+        Self::raw_yield(YieldType::NoWait) != 0
+    }
+}