type Type { } native(":core:setup_type", Type) global Type type Null { () { native(":core:Null:$init") } } type Int { () { native(":core:Int:$init") } } type Float { () { native(":core:Float:$init") } } type String { () { native(":core:String:$init") } } type Bool { () { native(":core:Bool:$init") } } type Array { () { native(":core:Array:$init") } fn push(this, element) { native(":core:Array:push", this, element) } fn pop(this) { return native(":core:Array:pop", this) } fn length(this) { return native(":core:Array:length", this) } } type Function { () { native(":core:Function:$init") } } fn say(message) { native(":core:say", message) } fn ping() { return "Pong!" } global Null global Int global Float global String global Bool global Array global Function global say global ping