Use module type of when you want a signature based on an existing module.
module type of
module Message = { let greeting = "Hello" let prefix = "[msg]" } module type MessageShape = module type of Message module LoudMessage: MessageShape = { let greeting = "HELLO" let prefix = "[LOUD]" }
Module