public void CreateBad()
        {
            var firstO      = String10.Create("");
            var lastO       = String10.Create("Adams");
            var createNameO = Option.Lift2 <String10, String10, PersonalName>(PersonalName.Create);
            var nameO       = createNameO(firstO, lastO);

            Assert.IsFalse(nameO.HasValue);
        }
        public void CreateGood()
        {
            var firstO      = String10.Create("Alice");
            var lastO       = String10.Create("Adams");
            var createNameO = Option.Lift2 <String10, String10, PersonalName>(PersonalName.Create);
            var nameO       = createNameO(firstO, lastO);

            Assert.IsTrue(nameO.HasValue);
            Assert.AreEqual("Alice", nameO.Value.First.Value);
        }