Option type for C#, inspired by Scala.