[
  {"type":"KeywordNamespace","value":"import"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"collections"},
  {"type":"Operator","value":"."},
  {"type":"Punctuation","value":"{"},
  {"type":"NameClass","value":"Array"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"BitSet"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"BitVec"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"HashMap"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"HashSet"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"List"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Queue"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordNamespace","value":"mod"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"annotations"},
  {"type":"Operator","value":";"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameAttribute","value":"@internal"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"unreachable"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"T"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"unimplemented"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Unit"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"fatalError"},
  {"type":"Punctuation","value":"("},
  {"type":"LiteralString","value":"\"not yet implemented\""},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"isValidUtf8"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"data"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"UInt8"},
  {"type":"Punctuation","value":"])"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i64"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"Keyword","value":"while"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003c"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"data"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"size"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"data"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"i"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"toInt32"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"min"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"max"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x80i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"=="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1i64"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"else"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xC0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"=="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x80i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xE0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"=="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xC0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x1Fi32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"min"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x80"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"max"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x7FFi32"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xF0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"=="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xE0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xFi32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"2i32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"min"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x800i32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"max"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xFFFFi32"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xF8i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"=="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xF0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x7i32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"3"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"min"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x10000"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"max"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x10FFFFi32"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n      "},
  {"type":"Keyword","value":"while"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003e"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"bytes"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"-"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1i32"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1i64"},
  {"type":"TextWhitespace","value":"\n\n        "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003e="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"data"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"size"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n          "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n        "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"data"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"i"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"toInt32"},
  {"type":"TextWhitespace","value":"\n\n        "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0xC0i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x80i32"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n          "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n        "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"codepoint"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"shiftLeft"},
  {"type":"Punctuation","value":"("},
  {"type":"LiteralNumberInteger","value":"6i32"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"by"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberHex","value":"0x3Fi32"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n      "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003c"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"min"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"||"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"codepoint"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003e"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"max"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n        "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n      "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1i64"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@internal"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"unsafeKillRefs"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]("},
  {"type":"Name","value":"arr"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"idx"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Int64"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Unit"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"class"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Stacktrace"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Name","value":"backtrace"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Int32"},
  {"type":"Punctuation","value":"]]"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]]"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"impl"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Stacktrace"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameAttribute","value":"@static"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"new"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Stacktrace"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"trace"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Stacktrace"},
  {"type":"Punctuation","value":"("},
  {"type":"NameClass","value":"None"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Int32"},
  {"type":"Punctuation","value":"]]"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"None"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]])"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Name","value":"trace"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"retrieveStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Name","value":"trace"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"getStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"isSome"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"getOrPanic"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"backtrace"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"isNone"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]"},
  {"type":"Operator","value":"::"},
  {"type":"Name","value":"new"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Array"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]]("},
  {"type":"Name","value":"elements"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"backtraceLength"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"backtrace"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"getOrPanic"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"size"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i64"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"len"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"backtraceLength"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"/"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"2i64"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"List"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"Punctuation","value":"]"},
  {"type":"Operator","value":"::"},
  {"type":"Name","value":"new"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"reserve"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"len"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"Keyword","value":"while"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\u003c"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"len"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"push"},
  {"type":"Punctuation","value":"("},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"getStacktraceElement"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"i"},
  {"type":"Punctuation","value":"))"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"1i64"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"toArray"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"elements"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Keyword","value":"return"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"elements"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"printStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Unit"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"let"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"x"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"getStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"KeywordDeclaration","value":"var"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"i"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberInteger","value":"0i64"},
  {"type":"TextWhitespace","value":"\n\n    "},
  {"type":"Keyword","value":"for"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"frame"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"in"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"getStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Name","value":"println"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"frame"},
  {"type":"Operator","value":"."},
  {"type":"Name","value":"toString"},
  {"type":"Punctuation","value":"())"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"NameAttribute","value":"@internal"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"retrieveStacktrace"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Unit"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameAttribute","value":"@internal"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"getStacktraceElement"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"idx"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Int64"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"class"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Name","value":"name"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"String"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Name","value":"line"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Int32"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"impl"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"StacktraceElement"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"toString"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"String"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralString","value":"\"${self.name}: ${self.line}\""},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Operator","value":"/*"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"total"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"order"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"*/"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"trait"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Sortable"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"sortsAs"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"other"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Self"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Int32"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"CommentSingle","value":"// ideally we would be able to provide a default implementation for the next 3 methods based on `sortsAs`\n"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"sortsBefore"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"other"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Self"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"sortsAfter"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"other"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Self"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"sortsSame"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"other"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Self"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"union"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"("},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameClass","value":"None"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordNamespace","value":"import"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Operator","value":"."},
  {"type":"NameClass","value":"Some"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"KeywordNamespace","value":"import"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Operator","value":"."},
  {"type":"NameClass","value":"None"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"impl"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"isNone"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"None"},
  {"type":"TextWhitespace","value":"    "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"isSome"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"None"},
  {"type":"TextWhitespace","value":"    "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"impl"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"CommentSingle","value":"// WTF -- removing `()` causes memory corruption in main (tests/stdlib/option-flatten.core:6) -- WTF\n"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"flatten"},
  {"type":"Punctuation","value":"()"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Option"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Some"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"val"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"val"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"None"},
  {"type":"TextWhitespace","value":"      "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"None"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"union"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Result"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"E"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameClass","value":"Pass"},
  {"type":"Punctuation","value":"("},
  {"type":"NameClass","value":"T"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameClass","value":"Fail"},
  {"type":"Punctuation","value":"("},
  {"type":"NameClass","value":"E"},
  {"type":"Punctuation","value":")"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordNamespace","value":"import"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Result"},
  {"type":"Operator","value":"."},
  {"type":"NameClass","value":"Pass"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"KeywordNamespace","value":"import"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Result"},
  {"type":"Operator","value":"."},
  {"type":"NameClass","value":"Fail"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"KeywordDeclaration","value":"impl"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"E"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Result"},
  {"type":"Punctuation","value":"["},
  {"type":"NameClass","value":"T"},
  {"type":"Operator","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"E"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"isPass"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Pass"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Fail"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n\n  "},
  {"type":"NameAttribute","value":"@pub"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordDeclaration","value":"fun"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Name","value":"isFail"},
  {"type":"Operator","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Bool"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"="},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"self"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Pass"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"false"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Operator","value":"..."},
  {"type":"TextWhitespace","value":" "},
  {"type":"Keyword","value":"is"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameClass","value":"Fail"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"_"},
  {"type":"Punctuation","value":")"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"TextWhitespace","value":"\n"}
]
