Wrap validate in doValidate
Fall back from HLists to normal lists, casting ftw
Tidying