Another idea which was already proposed is to start by requiring references to member functions to be prefixed by self.
when stored or passed as espcaing arguments.
import Foundation
foo = defaultFoo // error: implicit captures of `self` must be prefixed by `self.`
foo = self.defaultFoo
Edit: It's actually being discussed right now ^^ Revisiting requiring explicit `self.` when passing a method as an escaping closure