       
       // Start formal access to the mutable value, based on the final base
       // value.
+      // FIXME: Opened archetype specialization fails to propagate uses
+      // in some cases. rdar://problem/31749245
+      @inline(never)
       func formalMutation<MutationRoot>(_ base: MutationRoot)
           -> UnsafeMutablePointer<Value> {
         var base2 = base

        let isLast = optNextType == nil
        
        func project<CurValue>(_ base: CurValue) -> Value? {
          func project2<NewValue>(_: NewValue.Type) -> Value? {
            let newBase: NewValue = rawComponent.projectReadOnly(base)
            if isLast {

        let nextType = optNextType.unsafelyUnwrapped
        
        func project<NewValue>(_: NewValue.Type) -> Any {
          // FIXME: Opened archetype specialization fails to propagate uses
          // in some cases. rdar://problem/31749245
          @inline(never)
          func project2<CurValue>(_ base: CurValue) -> Any {
            return rawComponent.projectReadOnly(base) as NewValue
          }
