From #787 (comment) the ergonomics we're looking for should look like:
#[note]
struct MyNote {
recipient: AccountId,
}
#[note]
impl MyNote {
#[entrypoint]
pub fn run(&self, account: &BasicWallet, _args: Word) {
assert_eq!(self.recipient, account.id());
...
}
}