   var anySink2 = writable[keyPath: pkp]
   expect(&anySink2, toHaveType: Exactly<Any>.self)
 
-  // FIXME: keypath application rather than subscripting if subscript parameter defined without a separate internal name
-  readonly[keyPath: pkp] = anySink1 // expected-error{{cannot assign to immutable expression of type 'Any'}}
-  // FIXME: keypath application rather than subscripting if subscript parameter defined without a separate internal name
-  writable[keyPath: pkp] = anySink2 // expected-error{{cannot assign to immutable expression of type 'Any'}}
+  readonly[keyPath: pkp] = anySink1 // expected-error{{cannot assign through subscript: subscript is get-only}}
+  writable[keyPath: pkp] = anySink2 // expected-error{{cannot assign through subscript: subscript is get-only}}
 
   let akp: AnyKeyPath = pkp
 

  sink = readonly[keyPath: rkp]
  sink = writable[keyPath: rkp]

  // FIXME: keypath application rather than subscripting if subscript parameter defined without a separate internal name
  readonly[keyPath: kp] = sink // expected-error{{cannot assign to immutable expression of type 'Int'}}
  // FIXME: keypath application rather than subscripting if subscript parameter defined without a separate internal name
  writable[keyPath: kp] = sink // expected-error{{cannot assign to immutable expression of type 'Int'}}
  // FIXME: keypath application rather than subscripting if subscript parameter defined without a separate internal name
  readonly[keyPath: wkp] = sink // expected-error{{cannot assign to immutable expression of type 'Int'}}
  // FIXME: silently falls back to keypath application, which seems inconsistent
  writable[keyPath: wkp] = sink
  // FIXME: silently falls back to keypath application, which seems inconsistent

}

struct ZwithSubscript {
  subscript(keyPath kp: KeyPath<ZwithSubscript, Int>) -> Int { return 0 }
  subscript(keyPath kp: WritableKeyPath<ZwithSubscript, Int>) -> Int { return 0 }
  subscript(keyPath kp: ReferenceWritableKeyPath<ZwithSubscript, Int>) -> Int { return 0 }
  subscript(keyPath kp: PartialKeyPath<ZwithSubscript>) -> Any { return 0 }
}

func testKeyPathSubscript(readonly: ZwithSubscript, writable: inout ZwithSubscript,
