Right now all folded constants are created as Constant nodes, and initializers are always turned into a constant node even if they cannot be folded. Make constant folder create initializers and allow a lazy evaluate mode to avoid copying data.