The DNS standard (RFC 1034) prohibits CNAME records at the apex (root) because apex domains must have NS and SOA records, and a CNAME at the same name would conflict. Some DNS providers offer CNAME-like behavior at the apex through proprietary extensions: Cloudflare CNAME Flattening, AWS Route 53 ALIAS, DNSimple ALIAS. These are resolved server-side and behave like A records to clients.
All questions