Changes Customer example to use an optional type.

Also tidied up CustomerSpec and removed the codec test since it is
already checked more thoroughly in the macros package.