тайпчекер завтипов намного проще пишется, чем не незавтипов
только наивный. Как только хочешь сделать его эффективным, начинаются приключения. А если хочешь юзабельную систему, то нужна динамическая унификация высших порядков, и все становится совсем сложно