ラムダ式の戻り値の型を作った側が毎回書くのはじゃんくさい
関数の引数に使った感じから型推論できるように対応してみた
型推論の途中で戻り値なし、またはIntってゆーのを [Void | Int] みたいに表して
関数からフィードバックを受けて最後にVoidが残ったら戻り値無しよって感じにしてみた
変数にバインドした時はちょっと無理
でも、よくわかんなけりゃ戻り値ありに固定してもいいかもしれない
# f1は戻り値あり
var f1 = => 1
var a = f1()
need_Int(a)
# f2も戻り値あり、いらないかもしれないけどあっても困らない
var f2 = => 2
f2()