module type Greeter = {
let greet: string => string
}
module MakeWelcome = (G: Greeter) => {
let welcome = name => G.greet(name) ++ "!"
}
module English = {
let greet = name => "Hello " ++ name
}
module Welcome = MakeWelcome(English)
let message = Welcome.welcome("Ada")