constructs a DecodeBsonField from a function that implements DecodeBsonField#decode
constructs a DecodeBsonField from a function that implements DecodeBsonField#decode
what type it decodes
an implementation for decode
a DecodeBsonField for A
produces a decoder that attempts to cast the field to the target type.
produces a decoder that attempts to cast the field to the target type.
this allows anything with a DecodeBson to be decoded from a field as well
this allows anything with a DecodeBson to be decoded from a field as well