decoder: support unmarshal interface on all types.