init-tableの中で既に初期化済みなら何もしないようにした
let, lambda, dolist内の型宣言をマクロで包むようにした