Func -> Arrow; Arrow -> Def ... -sai