 
 @frozen
 public struct UnsafeContinuation<T> {
-  private var context: Builtin.RawUnsafeContinuation
+  @usableFromInline internal var context: Builtin.RawUnsafeContinuation
 
   public func resume(returning: __owned T) { }
+
+  @_alwaysEmitIntoClient
+  internal init(_ context: Builtin.RawUnsafeContinuation) {
+    self.context = context
+  }
 }
 
 @frozen
 public struct UnsafeThrowingContinuation<T> {
-  private var context: Builtin.RawUnsafeContinuation
+  @usableFromInline internal var context: Builtin.RawUnsafeContinuation
 
   public func resume(returning: __owned T) { }
   public func resume(throwing: __owned Error) { }
+
+  @_alwaysEmitIntoClient
+  internal init(_ context: Builtin.RawUnsafeContinuation) {
+    self.context = context
+  }
 }
 
 #if _runtime(_ObjC)

}

#endif

// Intrinsics used by SILGen to resume or fail continuations
// for
@_alwaysEmitIntoClient
internal func _resumeUnsafeContinuation<T>(
  _ continuation: UnsafeContinuation<T>,
  _ value: __owned T
