Кажется, что повышение Complex Int
до степени нарушает некоторый контракт в его случаях.Я не прав?
минимальный пример ниже
compl :: Complex Int -> Maybe (Complex Int)
compl d = (d^) <$> Just 3
И сообщение об ошибке:
No instance for (RealFloat Int) arising from an operator section
In the first argument of ‘(<$>)’, namely ‘(d ^)’
In the expression: (d ^) <$> Just 3
In an equation for ‘compl’: compl d = (d ^) <$> Just 3
Есть ли способ обойти это?Разрешение этого типа быть плавающим не имеет никакого смысла в моей программе.