optionals, more types