> I'm thinking an attribute on the closure's first parameter, for exemple (feel free to suggest other names): > > func with<T>(value: T, body: (bound T) -> ()) -> T { Is there a reason to avoid the obvious answer? func with<T>(value: T, body: (self: T) -> ()) -> T { -- Brent Royal-Gordon Architechies