Cope with predecessor sometimes being None
Use Yay1 error 'NoMatching' for when a lookup fails
Fix a else b type tests