'set' builder is generic