Imperative
Void Return Function
fn greet(){
println!("hello world");
}
Returning Function
Explicit Return
fn diceroll() -> i32 {
return 4;
}
Return Tail
fn diceroll() -> i32 {
4
}
FP
Generic Function
fn foobar<T>(arg : T) {
println!(arg);
}
or
fn foobar<L, R>(left : L, right : R) {
println!(L);
println!(R);
}