the top-level program is a function too