use Cow;
use ToTokens;
use crateCallable;
/// A callable that can be provided by `darling` or by `darling`'s caller.
///
/// Whether or not the callable was produced by `darling` impacts the assumptions
/// code generation can safely make. To preserve spans, an `Option` isn't suitable
/// for this; both paths need a properly-spanned callable, and the consuming code
/// also needs to know if `darling`'s default assumptions about the contents of that
/// item are allowed to hold.