«Строго позитивный» в Агде

Я пытаюсь закодировать некоторую денотационную семантику в Agda на основе программы, которую я написал на Haskell.

data Value = FunVal (Value -> Value)
           | PriVal Int
           | ConVal Id [Value]
           | Error  String

В Агде прямой перевод был бы;

data Value : Set where
    FunVal : (Value -> Value) -> Value
    PriVal : ℕ -> Value
    ConVal : String -> List Value -> Value
    Error  : String -> Value

но я получаю ошибку, связанную с FunVal, потому что;

Значение не является строго положительным, поскольку оно встречается слева от стрелки в типе конструктора FunVal в определении значения.

Что это значит? Могу ли я закодировать это в Agda? Я поступаю неправильно?

Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос