With older Tarantool versions, when a called function is not registered in the schema, it is called via netbox; otherwise, it is executed by a func.call. This creates inconsistency between return types because netbox converts return type from cdata to a lua type, whereas a direct func.call does not.