Normalized C type fact extracted from a wrapper surface.
@type kind() :: :void | :bool | :integer | :float | :pointer | :function_pointer | :record | :enum | :unknown
@type t() :: %Kinda.Wrapper.CType{kind: kind(), spelling: String.t() | nil}
@spec from_clang_type(map() | String.t() | nil) :: t() | nil
@spec from_function_decl(map()) :: t() | nil
@spec from_manifest(map() | nil) :: t() | nil
@spec to_manifest(t() | nil) :: map() | nil
@spec to_public_typespec_ref(t() | nil) :: Kinda.CodeGen.TypeSpecRef.t()