たぶん遅いのは再帰のせいじゃなくてlazyのせいじゃねーの?