define Type { @value T<#x> val @type Type<#x> zzz <- Type<#x>{ T<#x>.create() } @category optional T something <- skip get () { return val } @value get2 () -> (T<#x>) get2 () (v) { v <- val return _ } }