Typed_memory_domain.S
module Sub : Memory_sig.Memory_domain
include Memory_sig.Memory_domain
with module Address.Context = Sub.Address.Context
module Address : Memory_sig.Address with module Context = Sub.Address.Context
module Memory
(Value : Memory_sig.Value)
(Lift :
Memory_sig.Value_to_address
with module Value := Value
and module Address := Address) :
Memory_sig.Memory
with module Value = Value
and module Address = Address
and type boolean = Value.boolean
type binary = Sub.Address.binary