Problem: give the smallest possible complete subroutine/function/method definition in a language of your choice which, when called with an object, reference to a data structure, etc. returns a bencoded string representing a basic serialization of that object. Objects which are not lists, hashes, strings, or integers may be skipped. Each entry is displayed below as language: byte count followed by a commented call to the function taking as an argument a structure like: { 'foo' => 42, 'bar' => [1, 2, 3] } and returning the string: d3:barli1ei2ei3ee3:fooi42ee.