А как я могу проверить соответствие переменной типу? В ghci, например, могу написать 1 :: Int или “str” :: Int, а можно сделать то же самое со своим data MyListItem a = Elem a | MyList [MyListItem a] ?
второй из ответов говорит оень красочно But you should think about your code, this is not very much like Haskell should be, and it probably is not what you want.
Ну да, я примерно так и думал, но я так понимаю в ghci все присваивания работают только в рамках одной строки, поэтому не могу объявить сначала тип, потом затестить