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); }