How to write a lazy variant ?