Looking back, I think s7_define_function returns the symbol because that's the way define used to work, back in 2008 -- backwards compatibility, followed by forgetfulness.