\begin{code}
module ULC.Domains where

open import Relation.Binary.PropositionalEquality.Core using (_≡_) public

variable D : Set   -- Set should be a sort of domains

postulate         : {D : Set}  D

postulate fix      : {D : Set}  (D  D)  D

postulate fix-fix  :  {D}  (f : D  D)  fix f  f (fix f)

open import Function using (Inverse; _↔_) public

postulate D∞ : Set
postulate instance iso : D∞  (D∞  D∞)
open Inverse {{ ... }} using (to; from) public

variable d : D∞
\end{code}