According to http://puredata.info/dev/PdDefinitions, "anything" is not a data type, it is just a term for "any data type".
I tried to recreate your script with Tcl and managed to pass messages like [any foo( by creating a method "takefork2::0_any ...". The "foo" is properly passed.
Because of using a scripting language, the values pass twice the "PureData - script language border". It might not always be clear what happens here.
Adding a "function Takefork:in_1_symbol(s) ..." to your Lua script lets me pass the message [symbol foo( . Actually I did expect just the "foo", but got "symbol foo". But this could be my very limited knowledge of Pd-Lua interaction.
Addition:
Found your original sample: ldemux.lua_pd in pdlua examples. Just leave the type from the function name makes it generic: "function LDemux:in_1(s, m) ..."