Another example:
fn compare<T>(a T, b T) int {
if a < b {
return -1
}
return 1
return 0
}
// compare<int>
println(compare(1, 0)) // Outputs: 1
// compare<string>
println(compare('1', '0')) // Outputs: 1
println(compare('1', '1')) // 0
println(compare('1', '2')) // -1
// compare<f64>
println(compare(1.1, 1.0)) // Outputs: 1
println(compare(1.1, 1.2)) // -1