The generalized newtype deriving extension is what you want here:
{-# LANGUAGE GeneralizedNewtypeDeriving #-}module Main wherenewtype SomeType a = SomeCons a deriving (Num, Show, Eq)main = do let a = SomeCons 2 b = SomeCons 3 print $ a + b
Output:
*Main> mainSomeCons 5