I will rename the block argument to `argument_pattern` so we can drop the `self` here.