hacklang generics example