identity ((*) :: Int -> Int -> Int) 1
identity ((+) :: Int -> Int -> Int) 0
identityOnArbitrary ((*) :: Int -> Int -> Int) 1
identityOnArbitrary ((+) :: Int -> Int -> Int) 0
leftIdentity (flip ((^) :: Int -> Int -> Int)) 1
leftIdentityOnArbitrary (flip ((^) :: Int -> Int -> Int)) 1
rightIdentity ((^) :: Int -> Int -> Int) 1
rightIdentityOnArbitrary ((^) :: Int -> Int -> Int) 1