Written function types are move-only, with no copy qualifier or Erased state yet
Gap
RFC-0166 (v0.13.0) makes a written function type lower to a concrete move-only type and erases copyability where a value flows into such a slot. The full surface (a copy |T| -> U qualifier for an explicitly copyable callable, and a distinct "capability unknown" state) is RFC-0163, rescheduled to v0.18.1, which refines the move-only state rather than replacing it.
Impact
A closure that could be copied loses that once it passes through a slot with a written function type, and there is no way to require or preserve copyability there.
Affects
Resolution
Planned for v0.18.1, tracked as metel-core#936 (RFC-0163).