//! Conjure AAC equivalent to port). `Partition` is excluded because it has not been started as an
//! Oxide campaign type at all: there is no domain/representation support to hang partition-specific
//! isn't a bare top-level reference to a `find`/`given`, or an attribute/domain-kind combination
fn lift_attribute_as_constraints(expr: &Expr, symbols: &SymbolTable) -> ApplicationResult {
/// Attempts to merge one `AttributeAsConstraint` into its target's declaration domain, returning
/// Merges one attribute into a ground domain's attributes, returning `None` if the attribute does
/// not apply to this domain kind, or if merging it would conflict with an existing bound (in which
/// case the caller should fall back to expanding the AAC as an explicit, possibly-unsatisfiable,
/// Narrows a `size`/`minSize`/`maxSize`-shaped range attribute, returning `None` if the new bound
/// would conflict with the existing one (so the caller falls back to an explicit, and in that case
/// requesting `injective` on a domain already narrowed some other, incompatible way -- there is