sharp 0.1.0

A modern, statically-typed programming language with Python-like syntax, compiled to native code via LLVM. Game engine ready!
def factorial_iterative(n: int) -> int {
    result: int = 1
    i: int = 1
    while i <= n {
        result = result * i
        i = i + 1
    }
    return result
}

def sum_to_n(n: int) -> int {
    sum: int = 0
    i: int = 0
    while i <= n {
        sum += i
        i += 1
    }
    return sum
}

def fibonacci_iterative(n: int) -> int {
    if n <= 1 {
        return n
    }
    
    a: int = 0
    b: int = 1
    i: int = 2
    
    while i <= n {
        temp: int = a + b
        a = b
        b = temp
        i += 1
    }
    
    return b
}

def gcd(a: int, b: int) -> int {
    while b != 0 {
        temp: int = b
        b = a % b
        a = temp
    }
    return a
}

def main() -> int {
    fact5: int = factorial_iterative(5)
    sum10: int = sum_to_n(10)
    fib10: int = fibonacci_iterative(10)
    gcd_result: int = gcd(48, 18)
    
    return fact5 + sum10 + fib10 + gcd_result
}