Issue #16: Support function definition with parameters