Created Applicative and OptionalApplicative