Add custom marshaller for unsupported types

Fix tests compilations and add an easy way to create custom marshallers for unsupported types.