added default arg support for BEGIN_DEFINE_FN