code: func recurseOnFuncSlice(l *lua.State, input func(int) interface{}, n int) {
  	l.CreateTable(n, 0)
  	luaArray(l)
  	for i := 0; i < n; i++ {
  		forwardOnType(l, input(i))
  		l.RawSetInt(-2, i+1)
  	}
  }
docs: // the hack of using a func(int)interface{} makes it that it is valid for any
  // type of slice