Improved @Optional
generate nicer code
Adding @Bool validation
Added @CreditCard (another borrowed validator from @alganet)