make a PolymorphicProtobufRecord class