Register type with arguments