lazy set conversion