A common issue is that users of json schema expect to be able to leave off type when using keywords that apply to the type that they want inferred. Since this behaviour results in some really ugly code, type is essentially a required field if you want to get any good results.