fn main() {
	a1 := [1,2,3,4].map(fn(a int, b int) int {return a + b})
	println(a1)

	a2 := [1,2,3,4].map(fn(a string) string { return a })
	println(a2)

	a3 := [1,2,3,4].map(fn(a string) {})
	println(a3)

	a4 := [1,2,3,4].map(add1)
	println(a4)

	a5 := [1,2,3,4].map(add2)
	println(a5)

	a6 := [1,2,3,4].map(do_nothing)
	println(a6)
}

fn add1(a int, b int) int {
	return a + b
}

fn add2(a string) string {
	return a
}

fn do_nothing(a string) {
}
