unfold() in Block and For pass compile but need serious revision