假設我有某種類型的,如:刪除幻象型可變
newtype Foo a b = Foo { getFoo :: SomeStructure b }
即a
是僅用於編譯時檢查的幻像類型。
但是,我不想在任何地方使用幻像類型。這在我的代碼中並不普遍。所以我想做類似的事情:
type FooUnrestricted b = Foo Anything b
我應該用什麼來代替Anything
?我需要一些語言擴展嗎?
編輯:我意識到我可以簡單地使用()
它會回答我的問題。但實際問題是我有一些功能限制了a
,我希望他們始終滿意。
也許你可以使用'coerce'? – Rufflewind