https://github.com/microsoft/BosqueLanguage
Основные фичи:
- GC в виде счетчика ссылок, ага
 - immutable
 - нет циклов, только функциональщина
 - дженерики, в том числе variadic
 - sum types/adt
 - синтаксически, смесь C++, Rust, Swift и OCaml, но страшнее
 - optional - часть языка, ака оператор 
? - рекурсия должна быть явно объявлена через ключевое слово 
recursive - трансплитер написан на typescript и выплёвывает C++ (но это не точно)
 - они ещё используют Z3, но не ясно как именно
 
Пример:
entity Person {
    field name: String; 
}
function foo(arg?: {f: Int, n?: String} | String | Person): String {
    if(arg == none) {
        return "Blank";
    }
    else {
        return switch(arg) {
            type Record => arg.n ?| "Blank"
            type String => arg
            type Person => arg.name
        };
    }
}
foo()                    //"Blank"
foo(none)                //Type error - none not allowed
foo("Bob")               //Bob
foo(Person@{name="Bob"}) //Bob
foo({f=5})               //"Blank"
foo({f=1, n="Bob"})      //"Bob"
foo({g=1, n="Bob"})      //Type error - Missing f property








