For people used to compact lambas, all those issues are totally non-issues. The details vary by language (e.g. whether you can capture or not, and how capture works if you can do it), but it is rarely an issue in practice unless the decision is made poorly.
For instance, in Python, it has to be one line. And that's terrible--it's so inconvenient. But in Rust, let's say, it doesn't have to be one line and nobody ever thinks about whether it being one line or more is a thing--it follows the same rules as any other expression.