関数の戻り値型から空配列の型解決

なんのこっちゃか分かりにくいけど
戻り値の型から空配列の型解決ができるようになった
f:id:zenu:20170913204222p:plain

型解決をするために配列を正規化している

return([])
↓
$0 = []
return($0)

これをやると問題になるのがこんなやつ

xs = [Int]()
↓
$0 = [Int]
xs = $0()

Intってのが型解決してみるまで変数なのか型なのか分からないので$0が配列型か配列か分からない
ってゆーか、変数に型の代入ができなかった


Nodeにインスタンスか型なのかのフラグを付けて対応したけど、これができひんのは分かっている
どうしようもないので後で考える

var xs = []
xs.Add(Int)
var i = xs[0]()