The constructor for MarshalInfo in mlinfo.h and mlinfo.cpp has a ton of arguments, many of which are booleans. We should clean up this argument list and create a structure/flags that describe the various settings to make calls to the constructor readable.