mamba 0.3.6

A transpiler which converts Mamba files to Python 3 files
Documentation
def fun_a() -> Int? =>
    print(11)
    if True and True then print("hello")
    if False or True then print("world")

    def a := None ? 11
    if True then return 10 else return None

def fun_b(b: Int) => print(b)

def fun_c_1(b: (Int, Int)) => print(b)

def fun_c_2(b: (Int) -> Str) => print(b)

def fun_d(h: (Str, Str) -> Int) -> Int? => return h("hello", "world")

def fun_e(m: Int, o: (Str, Str), r: (Int, (Str, Str)) -> Int) -> Int => return r(m, o)

def fun_v(y: Str, ab: Str -> Str -> Bool) -> Str -> Bool => return ab(y)

class MyClass(def a: Int, def b: Int)
    def some_function(self, c: Int) -> Int =>
        def d := 20
        d := 10 + 30
        return c + 20 + d

    def +(self, other: MyClass) -> MyClass => return MyClass(self.a + self.b + other.some_function(self.a), self.b)
    def -(self, other: MyClass) -> MyClass => return self + other
    def *(self, other: MyClass) -> MyClass => return MyClass(self.a * other.b, self.b)
    def /(self, other: MyClass) -> MyClass => return MyClass(self.a // other.b, self.b)
    def //(self, other: MyClass) -> MyClass => return MyClass(self.a // other.b, self.b)
    def ^(self, other: MyClass) -> MyClass => return MyClass(self.a ^ other.b, self.b)

    def =(self, other: MyClass) -> Bool => return self.a = other.b
    def >(self, other: MyClass) -> Bool => return self.a > other.b
    def <(self, other: MyClass) -> Bool => return self.a < other.b

    def sqrt(self) -> MyClass => return MyClass(self.a // self.b, self.a // self.b)
    def mod(self, other: MyClass) -> MyClass => return MyClass(self.a mod self.b, self.b)

def factorial(x: Int) -> Int => x * factorial(x - 1)

def some_higher_order(f: (Int) -> Int, x: Int) -> Int => return f(x)

def always_undefined() -> Int? => return None