Java Has Type Inference and Refinement Types (But With Strange Restrictions) | Hacker News Reader