I need to create a case class with optional fields .I refered to [Case Classes with optional fields in Scala](https://stackoverflow.com/questions/11982474/case-classes-with-optional-fields-in-scala)

```
 case class Student(firstName: String, lastName: Option[String] = None)
 case class Student1(firstName: String,addd:String,lastName: Option[String] = None,surname:Option[String] = None)

```

1. The way to intialize it ,Is there any other way efficient way apart from using `Some("Bar")` to initialize it as I have many fields apporx to 15 .

```
 Student("Foo")
 Student("Foo", None)            // equal to the one above
 Student("Foo", Some("Bar")) 

```
2. `print(Student1("Foo","abc",None,Some("abc")))`,I want to have a 
 alternative to None
3. If we iterate through the fields

```
     println(Student("Foo").productIterator.mkString("\n"))

```

It prints

```
Foo
None

```

I want to remove None