types are hard