Each reference type is optional