API-DOC
 The arrow  ->  denotes what type the expression returns when evaluated. 
 The questionmark denotes optional parameters, e.g. in  (if condition thenBody elseBody?) the  elseBody  is optional. 
This is work in progress, so there might be mistakes and this documentation is incomplete!
      
Example:
        (defunc #string (fizzbuzz #int num)
          (var result "")
          (cond
            [and (== (% num 3) 0) (== (% num 5) 0)] (mut result \"fizzbuzz\")
            [== (% num 3) 0)] (mut result "fizz")
            [== (% num 5) 0)] (mut result "buzz")
            true (mut result (to-string num))
          )
          result
        )
      Example:
        ($ "echo" 1 "hi")
      will result in something like this
        echo 1 "hi"
      The expansion can be demonstrated as follows:
        ($ "bc <<<" "1 + 2")
      will result in something like this
        bc <<< "1 + 2"