5.20. Function abstractions