Tweaking exceptions and defaults

Nothing major, justing tidying things up.
Tidying up case statement for conversion
Adding interface implementation spec for Value