namespace A class Referer def stuff as A.B.C.Container # dotted generic name used to confound compiler return nil to passthrough namespace B namespace C class Container def add(item as T) pass class Program def main is shared .foo(nil) .foo('aoeu') .bar(nil) .bar('aoeu') def foo(s as String?) is shared assert s is nil or s == 'aoeu' def bar(s as System.String?) is shared # nilable qualified assert s is nil or s == 'aoeu'