nitpick: might as well interpolate `mapping` for consistency. not sure how common it is to pass multiple args to `puts` in Rubyland anyway. also line 74, though that line at least benefits from some line wrapping.