Create a strict standard codec for a scalar or concrete object type. Used by create_codec_for_array and create_codec_for_map when their element or value type needs no custom codec. Pass Settings to use an exact-type registered object codec, including for abstract object types. Otherwise abstract objects need an explicit codec. Generic collections and custom rules need an explicit codec. Boxed numeric types use Vala's nullable generic arguments, e.g. int64? or double?. Use an explicit codec for nullable int32 values.