|  | enum Numberz | 
|  | { | 
|  | ONE = 1, | 
|  | TWO, | 
|  | THREE, | 
|  | FIVE = 5, | 
|  | SIX, | 
|  | EIGHT = 8 | 
|  | } | 
|  |  | 
|  | typedef i64 UserId | 
|  |  | 
|  | struct Xtruct | 
|  | { | 
|  | string string_thing = 0, | 
|  | byte   byte_thing = 1, | 
|  | i32    i32_thing = 3, | 
|  | i64    i64_thing = 5 | 
|  | } | 
|  |  | 
|  | struct Xtruct2 | 
|  | { | 
|  | byte   byte_thing = 0, | 
|  | Xtruct struct_thing = 1, | 
|  | i32    i32_thing = 2 | 
|  | } | 
|  |  | 
|  | struct Insanity | 
|  | { | 
|  | map<Numberz, UserId> userMap = 0, | 
|  | list<Xtruct> xtructs = 1 | 
|  | } | 
|  |  | 
|  | service ThriftTest | 
|  | { | 
|  | void         testVoid() | 
|  | string       testString(string thing = 0) | 
|  | byte         testByte(byte thing = 0) | 
|  | i32          testI32(i32 thing = 0) | 
|  | i64          testI64(i64 thing = 0) | 
|  | Xtruct       testStruct(Xtruct thing = 0) | 
|  | Xtruct2      testNest(Xtruct2 thing = 0) | 
|  | map<i32,i32> testMap(map<i32,i32> thing = 0) | 
|  | set<i32>     testSet(set<i32> thing = 0) | 
|  | list<i32>    testList(list<i32> thing = 0) | 
|  | Numberz      testEnum(Numberz thing = 0) | 
|  | UserId       testTypedef(UserId thing = 0) | 
|  |  | 
|  | map<i32,map<i32,i32>> testMapMap(i32 hello = 0) | 
|  |  | 
|  | /* So you think you've got this all worked, out eh? */ | 
|  | map<UserId, map<Numberz,Insanity>> testInsanity(Insanity argument = 0) | 
|  | } |