Make marshaling look for strict type matches and then fall back to less strict. #168