using System; using System.Console; using System.Math; module Composition { Compose[T](f : T -> T, g : T -> T, x : T) : T { f(g(x)) } Main() : void { def SinAsin = Compose(Sin, Asin, _); WriteLine(SinAsin(0.5)); } }