import io:* obj templd { var data: T fun construct(dataIn:T):void { data = dataIn } fun conv(func: fun(T):U): U { return func(data) } } obj onlyMember { var data: int fun printAThing(otherDat: T):void { println(data) println(otherDat) } } fun main():int { var hmm.construct(3): templd println(hmm.conv(fun(it:int):double { return it + 0.141592; })) var onlyM: onlyMember onlyM.data = 7 onlyM.printAThing("hi") return 0 }