key could be null (but not nil) which is a terrible key value